The requested content cannot be loaded.
Please try again later.
',
closeBtn: '").html(e).find(a.selector):u(e)&&(e.data("fancybox-placeholder")||e.data("fancybox-placeholder", f('
').insertAfter(e).hide()), e=e.show().detach(), a.wrap.bind("onReset", function(){
f(this).find(e).length&&e.hide().replaceAll(e.data("fancybox-placeholder")).data("fancybox-placeholder", !1)
}));
break;
case "image":
e=a.tpl.image.replace(/\{href\}/g, g);
break;
case "swf":
e='
"
}
u(e)&&e.parent().is(a.inner)||a.inner.append(e);
b.trigger("beforeShow");
a.inner.css("overflow", "yes"===l ? "scroll":"no"===l ? "hidden":l);
b._setDimension();
b.reposition();
b.isOpen = !1;
b.coming=null;
b.bindEvents();
if(!b.isOpened) f(".fancybox-wrap").not(a.wrap).stop(!0).trigger("onReset").remove();
else if(d.prevMethod) b.transitions[d.prevMethod]();
b.transitions[b.isOpened ? a.nextMethod:a.openMethod]();
b._preloadImages()
}},
_setDimension: function(){
var a=b.getViewport(),
d=0,
e = !1,
c = !1,
e=b.wrap,
l=b.skin,
g=b.inner,
h=b.current,
c=h.width,
k=h.height,
n=h.minWidth,
v=h.minHeight,
p=h.maxWidth,
q=h.maxHeight,
t=h.scrolling,
r=h.scrollOutside ? h.scrollbarWidth:0,
y=h.margin,
z=m(y[1] + y[3]),
s=m(y[0] + y[2]),
w, A, u, D, B, G, C, E, I;
e.add(l).add(g).width("auto").height("auto").removeClass("fancybox-tmp");
y=m(l.outerWidth(!0) - l.width());
w=m(l.outerHeight(!0) - l.height());
A=z + y;
u=s + w;
D=F(c) ? (a.w - A) * m(c) / 100:c;
B=F(k) ? (a.h - u) * m(k) / 100:k;
if("iframe"===h.type){
if(I=h.content, h.autoHeight&&1===I.data("ready")) try {
I[0].contentWindow.document.location&&(g.width(D).height(9999), G=I.contents().find("body"), r&&G.css("overflow-x",
"hidden"), B=G.outerHeight(!0))
} catch (H){}}else if(h.autoWidth||h.autoHeight) g.addClass("fancybox-tmp"), h.autoWidth||g.width(D), h.autoHeight||g.height(B), h.autoWidth&&(D=g.width()), h.autoHeight&&(B=g.height()), g.removeClass("fancybox-tmp");
c=m(D);
k=m(B);
E=D / B;
n=m(F(n) ? m(n, "w") - A:n);
p=m(F(p) ? m(p, "w") - A:p);
v=m(F(v) ? m(v, "h") - u:v);
q=m(F(q) ? m(q, "h") - u:q);
G=p;
C=q;
h.fitToView&&(p=Math.min(a.w - A, p), q=Math.min(a.h - u, q));
A=a.w - z;
s=a.h - s;
h.aspectRatio ? (c > p&&(c=p, k=m(c / E)), k > q&&(k=q, c=m(k * E)), c < n&&(c=n, k=m(c /
E)), k < v&&(k=v, c=m(k * E))):(c=Math.max(n, Math.min(c, p)), h.autoHeight&&"iframe"!==h.type&&(g.width(c), k=g.height()), k=Math.max(v, Math.min(k, q)));
if(h.fitToView)
if(g.width(c).height(k), e.width(c + y), a=e.width(), z=e.height(), h.aspectRatio)
for (;
(a > A||z > s)&&c > n&&k > v&&!(19 < d++);) k=Math.max(v, Math.min(q, k - 10)), c=m(k * E), c < n&&(c=n, k=m(c / E)), c > p&&(c=p, k=m(c / E)), g.width(c).height(k), e.width(c + y), a=e.width(), z=e.height();
else c=Math.max(n, Math.min(c, c - (a - A))), k=Math.max(v, Math.min(k, k - (z - s)));
r&&"auto"===t&&k < B &&
c + y + r < A&&(c +=r);
g.width(c).height(k);
e.width(c + y);
a=e.width();
z=e.height();
e=(a > A||z > s)&&c > n&&k > v;
c=h.aspectRatio ? c < G&&k < C&&c < D&&k < B:(c < G||k < C)&&(c < D||k < B);
f.extend(h, {
dim: {
width: x(a),
height: x(z)
},
origWidth: D,
origHeight: B,
canShrink: e,
canExpand: c,
wPadding: y,
hPadding: w,
wrapSpace: z - l.outerHeight(!0),
skinSpace: l.height() - k
});
!I&&h.autoHeight&&k > v&&k < q&&!c&&g.height("auto")
},
_getPosition: function(a){
var d=b.current,
e=b.getViewport(),
c=d.margin,
f=b.wrap.width() + c[1] + c[3],
g=b.wrap.height() + c[0] + c[2],
c={
position: "absolute",
top: c[0],
left: c[3]
};
d.autoCenter&&d.fixed&&!a&&g <=e.h&&f <=e.w ? c.position="fixed":d.locked||(c.top +=e.y, c.left +=e.x);
c.top=x(Math.max(c.top, c.top + (e.h - g) * d.topRatio));
c.left=x(Math.max(c.left, c.left + (e.w - f) * d.leftRatio));
return c
},
_afterZoomIn: function(){
var a=b.current;
a&&((b.isOpen=b.isOpened = !0, b.wrap.css("overflow", "visible").addClass("fancybox-opened"), b.update(), (a.closeClick||a.nextClick&&1 < b.group.length)&&b.inner.css("cursor", "pointer").bind("click.fb", function(d){
f(d.target).is("a")||f(d.target).parent().is("a") ||
(d.preventDefault(), b[a.closeClick ? "close":"next"]())
}), a.closeBtn&&f(a.tpl.closeBtn).appendTo(b.skin).bind("click.fb", function(a){
a.preventDefault();
b.close()
}), a.arrows&&1 < b.group.length&&((a.loop||0 < a.index)&&f(a.tpl.prev).appendTo(b.outer).bind("click.fb", b.prev), (a.loop||a.index < b.group.length - 1)&&f(a.tpl.next).appendTo(b.outer).bind("click.fb", b.next)), b.trigger("afterShow"), a.loop||a.index!==a.group.length - 1) ? b.opts.autoPlay&&!b.player.isActive&&(b.opts.autoPlay = !1, b.play(!0)):b.play(!1))
},
_afterZoomOut: function(a){
a=a||b.current;
f(".fancybox-wrap").trigger("onReset").remove();
f.extend(b, {
group: {},
opts: {},
router: !1,
current: null,
isActive: !1,
isOpened: !1,
isOpen: !1,
isClosing: !1,
wrap: null,
skin: null,
outer: null,
inner: null
});
b.trigger("afterClose", a)
}});
b.transitions={
getOrigPosition: function(){
var a=b.current,
d=a.element,
e=a.orig,
c={},
f=50,
g=50,
h=a.hPadding,
k=a.wPadding,
n=b.getViewport();
!e&&a.isDom&&d.is(":visible")&&(e=d.find("img:first"), e.length||(e=d));
u(e) ? (c=e.offset(), e.is("img") &&
(f=e.outerWidth(), g=e.outerHeight())):(c.top=n.y + (n.h - g) * a.topRatio, c.left=n.x + (n.w - f) * a.leftRatio);
if("fixed"===b.wrap.css("position")||a.locked) c.top -=n.y, c.left -=n.x;
return c={
top: x(c.top - h * a.topRatio),
left: x(c.left - k * a.leftRatio),
width: x(f + k),
height: x(g + h)
}},
step: function(a, d){
var e, c, f=d.prop;
c=b.current;
var g=c.wrapSpace,
h=c.skinSpace;
if("width"===f||"height"===f) e=d.end===d.start ? 1:(a - d.start) / (d.end - d.start), b.isClosing&&(e=1 - e), c="width"===f ? c.wPadding:c.hPadding, c=a - c, b.skin[f](m("width"===f ? c:c - g * e)), b.inner[f](m("width"===f ? c:c - g * e - h * e))
},
zoomIn: function(){
var a=b.current,
d=a.pos,
e=a.openEffect,
c="elastic"===e,
l=f.extend({
opacity: 1
}, d);
delete l.position;
c ? (d=this.getOrigPosition(), a.openOpacity&&(d.opacity=0.1)):"fade"===e&&(d.opacity=0.1);
b.wrap.css(d).animate(l, {
duration: "none"===e ? 0:a.openSpeed,
easing: a.openEasing,
step: c ? this.step:null,
complete: b._afterZoomIn
})
},
zoomOut: function(){
var a=b.current,
d=a.closeEffect,
e="elastic"===d,
c={
opacity: 0.1
};
e&&(c=this.getOrigPosition(), a.closeOpacity &&
(c.opacity=0.1));
b.wrap.animate(c, {
duration: "none"===d ? 0:a.closeSpeed,
easing: a.closeEasing,
step: e ? this.step:null,
complete: b._afterZoomOut
})
},
changeIn: function(){
var a=b.current,
d=a.nextEffect,
e=a.pos,
c={
opacity: 1
},
f=b.direction,
g;
e.opacity=0.1;
"elastic"===d&&(g="down"===f||"up"===f ? "top":"left", "down"===f||"right"===f ? (e[g]=x(m(e[g]) - 200), c[g]="+=200px"):(e[g]=x(m(e[g]) + 200), c[g]="-=200px"));
"none"===d ? b._afterZoomIn():b.wrap.css(e).animate(c, {
duration: a.nextSpeed,
easing: a.nextEasing,
complete: b._afterZoomIn
})
},
changeOut: function(){
var a=b.previous,
d=a.prevEffect,
e={
opacity: 0.1
},
c=b.direction;
"elastic"===d&&(e["down"===c||"up"===c ? "top":"left"]=("up"===c||"left"===c ? "-":"+") + "=200px");
a.wrap.animate(e, {
duration: "none"===d ? 0:a.prevSpeed,
easing: a.prevEasing,
complete: function(){
f(this).trigger("onReset").remove()
}})
}};
b.helpers.overlay={
defaults: {
closeClick: !0,
speedOut: 200,
showEarly: !0,
css: {},
locked: !t,
fixed: !0
},
overlay: null,
fixed: !1,
el: f("html"),
create: function(a){
var d;
a=f.extend({}, this.defaults, a);
this.overlay &&
this.close();
d=b.coming ? b.coming.parent:a.parent;
this.overlay=f('
').appendTo(d&&d.lenth ? d:"body");
this.fixed = !1;
a.fixed&&b.defaults.fixed&&(this.overlay.addClass("fancybox-overlay-fixed"), this.fixed = !0)
},
open: function(a){
var d=this;
a=f.extend({}, this.defaults, a);
this.overlay ? this.overlay.unbind(".overlay").width("auto").height("auto"):this.create(a);
this.fixed||(q.bind("resize.overlay", f.proxy(this.update, this)), this.update());
a.closeClick&&this.overlay.bind("click.overlay",
function(a){
if(f(a.target).hasClass("fancybox-overlay")) return b.isActive ? b.close():d.close(), !1
});
this.overlay.css(a.css).show()
},
close: function(){
q.unbind("resize.overlay");
this.el.hasClass("fancybox-lock")&&(f(".fancybox-margin").removeClass("fancybox-margin"), this.el.removeClass("fancybox-lock"), q.scrollTop(this.scrollV).scrollLeft(this.scrollH));
f(".fancybox-overlay").remove().hide();
f.extend(this, {
overlay: null,
fixed: !1
})
},
update: function(){
var a="100%",
b;
this.overlay.width(a).height("100%");
J ? (b=Math.max(H.documentElement.offsetWidth, H.body.offsetWidth), p.width() > b&&(a=p.width())):p.width() > q.width()&&(a=p.width());
this.overlay.width(a).height(p.height())
},
onReady: function(a, b){
var e=this.overlay;
f(".fancybox-overlay").stop(!0, !0);
e||this.create(a);
a.locked&&this.fixed&&b.fixed&&(b.locked=this.overlay.append(b.wrap), b.fixed = !1);
!0===a.showEarly&&this.beforeShow.apply(this, arguments)
},
beforeShow: function(a, b){
b.locked&&!this.el.hasClass("fancybox-lock")&&(!1!==this.fixPosition&&f("*").filter(function(){
return "fixed"===f(this).css("position")&&!f(this).hasClass("fancybox-overlay")&&!f(this).hasClass("fancybox-wrap")
}).addClass("fancybox-margin"), this.el.addClass("fancybox-margin"), this.scrollV=q.scrollTop(), this.scrollH=q.scrollLeft(), this.el.addClass("fancybox-lock"), q.scrollTop(this.scrollV).scrollLeft(this.scrollH));
this.open(a)
},
onUpdate: function(){
this.fixed||this.update()
},
afterClose: function(a){
this.overlay&&!b.coming&&this.overlay.fadeOut(a.speedOut, f.proxy(this.close, this))
}};
b.helpers.title={
defaults: {
type: "float",
position: "bottom"
},
beforeShow: function(a){
var d=b.current,
e=d.title,
c=a.type;
f.isFunction(e)&&(e=e.call(d.element, d));
if(r(e)&&""!==f.trim(e)){
d=f('
' + e + "
");
switch (c){
case "inside":
c=b.skin;
break;
case "outside":
c=b.wrap;
break;
case "over":
c=b.inner;
break;
default:
c=b.skin, d.appendTo("body"), J&&d.width(d.width()), d.wrapInner('
'), b.current.margin[2] +=Math.abs(m(d.css("margin-bottom")))
}
d["top"===a.position ? "prependTo" :
"appendTo"](c)
}}
};
f.fn.fancybox=function(a){
var d, e=f(this),
c=this.selector||"",
l=function(g){
var h=f(this).blur(),
k=d,
l, m;
g.ctrlKey||g.altKey||g.shiftKey||g.metaKey||h.is(".fancybox-wrap")||(l=a.groupAttr||"data-fancybox-group", m=h.attr(l), m||(l="rel", m=h.get(0)[l]), m&&""!==m&&"nofollow"!==m&&(h=c.length ? f(c):e, h=h.filter("[" + l + '="' + m + '"]'), k=h.index(this)), a.index=k, !1!==b.open(h, a)&&g.preventDefault())
};
a=a||{};
d=a.index||0;
c&&!1!==a.live ? p.undelegate(c, "click.fb-start").delegate(c + ":not('.fancybox-item, .fancybox-nav')",
"click.fb-start", l):e.unbind("click.fb-start").bind("click.fb-start", l);
this.filter("[data-fancybox-start=1]").trigger("click");
return this
};
p.ready(function(){
var a, d;
f.scrollbarWidth===w&&(f.scrollbarWidth=function(){
var a=f('
').appendTo("body"),
b=a.children(),
b=b.innerWidth() - b.height(99).innerWidth();
a.remove();
return b
});
f.support.fixedPosition===w&&(f.support.fixedPosition=function(){
var a=f('
').appendTo("body"),
b=20===a[0].offsetTop||15===a[0].offsetTop;
a.remove();
return b
}());
f.extend(b.defaults, {
scrollbarWidth: f.scrollbarWidth(),
fixed: f.support.fixedPosition,
parent: f("body")
});
a=f(s).width();
K.addClass("fancybox-lock-test");
d=f(s).width();
K.removeClass("fancybox-lock-test");
f("").appendTo("head")
})
})(window, document, jQuery);
(function ($){
"use strict";
var F=$.fancybox,
format=function(url, rez, params){
params=params||'';
if($.type(params)==="object"){
params=$.param(params, true);
}
$.each(rez, function(key, value){
url=url.replace('$' + key, value||'');
});
if(params.length){
url +=(url.indexOf('?') > 0 ? '&':'?') + params;
}
return url;
};
F.helpers.media={
defaults:{
youtube:{
matcher:/(youtube\.com|youtu\.be|youtube-nocookie\.com)\/(watch\?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*)).*/i,
params:{
autoplay:1,
autohide:1,
fs:1,
rel:0,
hd:1,
wmode:'opaque',
enablejsapi:1
},
type:'iframe',
url:'//www.youtube.com/embed/$3'
},
vimeo:{
matcher:/(?:vimeo(?:pro)?.com)\/(?:[^\d]+)?(\d+)(?:.*)/,
params:{
autoplay:1,
hd:1,
show_title:1,
show_byline:1,
show_portrait:0,
fullscreen:1
},
type:'iframe',
url:'//player.vimeo.com/video/$1'
},
metacafe:{
matcher:/metacafe.com\/(?:watch|fplayer)\/([\w\-]{1,10})/,
params:{
autoPlay:'yes'
},
type:'swf',
url:function(rez, params, obj){
obj.swf.flashVars='playerVars=' + $.param(params, true);
return '//www.metacafe.com/fplayer/' + rez[1] + '/.swf';
}},
dailymotion:{
matcher:/dailymotion.com\/video\/(.*)\/?(.*)/,
params:{
additionalInfos:0,
autoStart:1
},
type:'swf',
url:'//www.dailymotion.com/swf/video/$1'
},
twitvid:{
matcher:/twitvid\.com\/([a-zA-Z0-9_\-\?\=]+)/i,
params:{
autoplay:0
},
type:'iframe',
url:'//www.twitvid.com/embed.php?guid=$1'
},
twitpic:{
matcher:/twitpic\.com\/(?!(?:place|photos|events)\/)([a-zA-Z0-9\?\=\-]+)/i,
type:'image',
url:'//twitpic.com/show/full/$1/'
},
instagram:{
matcher:/(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,
type:'image',
url:'//$1/p/$2/media/?size=l'
},
google_maps:{
matcher:/maps\.google\.([a-z]{2,3}(\.[a-z]{2})?)\/(\?ll=|maps\?)(.*)/i,
type:'iframe',
url:function(rez){
return '//maps.google.' + rez[1] + '/' + rez[3] + '' + rez[4] + '&output=' + (rez[4].indexOf('layer=c') > 0 ? 'svembed':'embed');
}}
},
beforeLoad:function(opts, obj){
var url=obj.href||'',
type=false,
what,
item,
rez,
params;
for (what in opts){
if(opts.hasOwnProperty(what)){
item=opts[ what ];
rez=url.match(item.matcher);
if(rez){
type=item.type;
params=$.extend(true, {}, item.params, obj[ what ]||($.isPlainObject(opts[ what ]) ? opts[ what ].params:null));
url=$.type(item.url)==="function" ? item.url.call(this, rez, params, obj):format(item.url, rez, params);
break;
}}
}
if(type){
obj.href=url;
obj.type=type;
obj.autoHeight=false;
}}
};}(jQuery));
;
(function ($, window, document, undefined){
var pluginName="MegaMenu",
defaults={
propertyName: "value"
};
var DELAY=250;
var menus=[];
function CustomMenu(element, options){
this.element=element;
this.options=$.extend({}, defaults, options);
this._defaults=defaults;
this._name=pluginName;
this.init();
}
CustomMenu.prototype={
isOpen: false,
timeout: null,
init: function (){
var that=this;
$(this).each(function(index, menu){
that.node=menu.element;
that.addListeners(menu.element);
var $menu=$(menu.element);
$menu.addClass("dropdownJavascript");
menus.push(menu.element);
$menu.find('ul > li').each(function(index, submenu){
if($(submenu).find('ul').length > 0){
$(submenu).addClass('with-menu');
}});
});
},
addListeners: function(menu){
var that=this;
$(menu).mouseover(function(e){
that.handleMouseOver.call(that, e);
}).mouseout(function(e){
that.handleMouseOut.call(that, e);
});
},
handleMouseOver: function (e){
var that=this;
this.clearTimeout();
var item=e.target||e.srcElement;
while (item.nodeName!='LI'&&item!=this.node){
item=item.parentNode;
}
if(item.nodeName=='LI'){
this.toOpen=item;
this.timeout=setTimeout(function(){
that.open.call(that);
}, this.options.delay);
}},
handleMouseOut: function (){
var that=this;
this.clearTimeout();
this.timeout=setTimeout(function(){
that.close.call(that);
}, this.options.delay);
},
clearTimeout: function (){
if(this.timeout){
clearTimeout(this.timeout);
this.timeout=null;
}},
open: function (){
var that=this;
this.isOpen=true;
var items=$(this.toOpen).parent().children('li');
$(items).each(function(index, item){
$(item).find("ul").each(function(index, submenu){
if(item!=that.toOpen){
$(item).removeClass("dropdownOpen");
that.close(item);
}else if(!$(item).hasClass('dropdownOpen')){
$(item).addClass("dropdownOpen");
var left=0;
var node=submenu;
while (node){
left +=Math.abs(node.offsetLeft);
node=node.offsetParent;
}
var right=left + submenu.offsetWidth;
var menuHeight=$(submenu).outerHeight();
var parentTop=$(submenu).offset().top - $(window).scrollTop();
var totalHeight=menuHeight + parentTop;
var windowHeight=window.innerHeight;
$(item).removeClass('dropdownRightToLeft');
if(left < 0) $(item).addClass('dropdownLeftToRight');
if(right > document.body.clientWidth){
$(item).addClass('dropdownRightToLeft');
}}
});
});
},
close: function (node){
if(!node){
this.isOpen=false;
node=this.node;
}
$(node).find('li').each(function(index, item){
$(item).removeClass('dropdownOpen');
});
}};
$.fn[pluginName]=function (options){
return this.each(function (){
if(!$.data(this, "plugin_" + pluginName)){
$.data(this, "plugin_" + pluginName,
new CustomMenu(this, options));
}});
};})(jQuery, window, document);
;
window.Modernizr=function(a, b, c){
function z(a){
j.cssText=a
}
function A(a, b){
return z(m.join(a + ";") + (b||""))
}
function B(a, b){
return typeof a===b
}
function C(a, b){
return !!~("" + a).indexOf(b)
}
function D(a, b){
for (var d in a){
var e=a[d];
if(!C(e, "-")&&j[e]!==c) return b=="pfx" ? e:!0
}
return !1
}
function E(a, b, d){
for (var e in a){
var f=b[a[e]];
if(f!==c) return d===!1 ? a[e]:B(f, "function") ? f.bind(d||b):f
}
return !1
}
function F(a, b, c){
var d=a.charAt(0).toUpperCase() + a.slice(1),
e=(a + " " + o.join(d + " ") + d).split(" ");
return B(b, "string")||B(b, "undefined") ? D(e, b):(e=(a + " " + p.join(d + " ") + d).split(" "), E(e, b, c))
}
var d="2.6.2",
e={},
f = !0,
g=b.documentElement,
h="modernizr",
i=b.createElement(h),
j=i.style,
k, l={}.toString,
m=" -webkit- -moz- -o- -ms- ".split(" "),
n="Webkit Moz O ms",
o=n.split(" "),
p=n.toLowerCase().split(" "),
q={},
r={},
s={},
t=[],
u=t.slice,
v, w=function(a, c, d, e){
var f, i, j, k, l=b.createElement("div"),
m=b.body,
n=m||b.createElement("body");
if(parseInt(d, 10))
while (d--) j=b.createElement("div"), j.id=e ? e[d]:h + (d + 1), l.appendChild(j);
return f=["", '"].join(""), l.id=h, (m ? l:n).innerHTML +=f, n.appendChild(l), m||(n.style.background="", n.style.overflow="hidden", k=g.style.overflow, g.style.overflow="hidden", g.appendChild(n)), i=c(l, a), m ? l.parentNode.removeChild(l):(n.parentNode.removeChild(n), g.style.overflow=k), !!i
},
x={}.hasOwnProperty,
y;
!B(x, "undefined")&&!B(x.call, "undefined") ? y=function(a, b){
return x.call(a, b)
}:y=function(a, b){
return b in a&&B(a.constructor.prototype[b], "undefined")
}, Function.prototype.bind||(Function.prototype.bind=function(b){
var c=this;
if(typeof c!="function") throw new TypeError;
var d=u.call(arguments, 1),
e=function(){
if(this instanceof e){
var a=function(){};
a.prototype=c.prototype;
var f=new a,
g=c.apply(f, d.concat(u.call(arguments)));
return Object(g)===g ? g:f
}
return c.apply(b, d.concat(u.call(arguments)))
};
return e
}), q.touch=function(){
var c;
return "ontouchstart" in a||a.DocumentTouch&&b instanceof DocumentTouch ? c = !0:w(["@media (", m.join("touch-enabled),("), h, ")", "{#modernizr{top:9px;position:absolute}}"].join(""), function(a){
c=a.offsetTop===9
}), c
}, q.cssanimations=function(){
return F("animationName")
}, q.csstransitions=function(){
return F("transition")
};
for (var G in q) y(q, G)&&(v=G.toLowerCase(), e[v]=q[G](), t.push((e[v] ? "":"no-") + v));
return e.addTest=function(a, b){
if(typeof a=="object")
for (var d in a) y(a, d)&&e.addTest(d, a[d]);
else {
a=a.toLowerCase();
if(e[a]!==c) return e;
b=typeof b=="function" ? b():b, typeof f!="undefined"&&f && (g.className +=" " + (b ? "":"no-") + a), e[a]=b
}
return e
}, z(""), i=k = null,
function(a, b){
function k(a, b){
var c=a.createElement("p"),
d=a.getElementsByTagName("head")[0]||a.documentElement;
return c.innerHTML="x", d.insertBefore(c.lastChild, d.firstChild)
}
function l(){
var a=r.elements;
return typeof a=="string" ? a.split(" "):a
}
function m(a){
var b=i[a[g]];
return b||(b={}, h++, a[g]=h, i[h]=b), b
}
function n(a, c, f){
c||(c=b);
if(j) return c.createElement(a);
f||(f=m(c));
var g;
return f.cache[a] ? g=f.cache[a].cloneNode():e.test(a) ? g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a), g.canHaveChildren&&!d.test(a) ? f.frag.appendChild(g):g
}
function o(a, c){
a||(a=b);
if(j) return a.createDocumentFragment();
c=c||m(a);
var d=c.frag.cloneNode(),
e=0,
f=l(),
g=f.length;
for (; e < g; e++) d.createElement(f[e]);
return d
}
function p(a, b){
b.cache||(b.cache={}, b.createElem=a.createElement, b.createFrag=a.createDocumentFragment, b.frag=b.createFrag()), a.createElement=function(c){
return r.shivMethods ? n(c, a, b):b.createElem(c)
}, a.createDocumentFragment=Function("h,f", "return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&(" + l().join().replace(/\w+/g, function(a){
return b.createElem(a), b.frag.createElement(a), 'c("' + a + '")'
}) + ");return n}")(r, b.frag)
}
function q(a){
a||(a=b);
var c=m(a);
return r.shivCSS&&!f&&!c.hasCSS&&(c.hasCSS = !!k(a, "article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")), j||p(a, c), a
}
var c=a.html5||{},
d=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,
e=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,
f, g="_html5shiv",
h=0,
i={},
j;
(function(){
try {
var a=b.createElement("a");
a.innerHTML="
", f="hidden" in a, j=a.childNodes.length==1||function(){
b.createElement("a");
var a=b.createDocumentFragment();
return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"
}()
} catch (c){
f = !0, j = !0
}})();
var r={
elements: c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",
shivCSS: c.shivCSS!==!1,
supportsUnknownElements: j,
shivMethods: c.shivMethods!==!1,
type: "default",
shivDocument: q,
createElement: n,
createDocumentFragment: o
};
a.html5=r, q(b)
}(this, b), e._version=d, e._prefixes=m, e._domPrefixes=p, e._cssomPrefixes=o, e.testProp=function(a){
return D([a])
}, e.testAllProps=F, e.testStyles=w, e.prefixed=function(a, b, c){
return b ? F(a, b, c):F(a, "pfx")
}, g.className=g.className.replace(/(^|\s)no-js(\s|$)/, "$1$2") + (f ? " js " + t.join(" "):""), e
}(this, this.document),
function(a, b, c){
function d(a){
return "[object Function]"==o.call(a)
}
function e(a){
return "string"==typeof a
}
function f(){}
function g(a){
return !a||"loaded"==a||"complete"==a||"uninitialized"==a
}
function h(){
var a=p.shift();
q=1, a ? a.t ? m(function(){
("c"==a.t ? B.injectCss:B.injectJs)(a.s, 0, a.a, a.x, a.e, 1)
}, 0):(a(), h()):q=0
}
function i(a, c, d, e, f, i, j){
function k(b){
if(!o&&g(l.readyState)&&(u.r=o = 1, !q&&h(), l.onload=l.onreadystatechange=null, b)){
"img"!=a&&m(function(){
t.removeChild(l)
}, 50);
for (var d in y[c]) y[c].hasOwnProperty(d)&&y[c][d].onload()
}}
var j=j||B.errorTimeout,
l=b.createElement(a),
o=0,
r=0,
u={
t: d,
s: c,
e: f,
a: i,
x: j
};
1===y[c]&&(r=1, y[c]=[]), "object"==a ? l.data=c:(l.src=c, l.type=a), l.width=l.height="0", l.onerror=l.onload=l.onreadystatechange=function(){
k.call(this, r)
}, p.splice(e, 0, u), "img"!=a&&(r||2===y[c] ? (t.insertBefore(l, s ? null:n), m(k, j)):y[c].push(l))
}
function j(a, b, c, d, f){
return q=0, b=b||"j", e(a) ? i("c"==b ? v:u, a, b, this.i++, c, d, f):(p.splice(this.i++, 0, a), 1==p.length&&h()), this
}
function k(){
var a=B;
return a.loader={
load: j,
i: 0
}, a
}
var l=b.documentElement,
m=a.setTimeout,
n=b.getElementsByTagName("script")[0],
o={}.toString,
p=[],
q=0,
r="MozAppearance" in l.style,
s=r&&!!b.createRange().compareNode,
t=s ? l:n.parentNode,
l=a.opera&&"[object Opera]"==o.call(a.opera),
l = !!b.attachEvent&&!l,
u=r ? "object":l ? "script":"img",
v=l ? "script":u,
w=Array.isArray||function(a){
return "[object Array]"==o.call(a)
},
x=[],
y={},
z={
timeout: function(a, b){
return b.length&&(a.timeout=b[0]), a
}},
A, B;
B=function(a){
function b(a){
var a=a.split("!"),
b=x.length,
c=a.pop(),
d=a.length,
c={
url: c,
origUrl: c,
prefixes: a
},
e, f, g;
for (f=0; f < d; f++) g=a[f].split("="), (e=z[g.shift()])&&(c=e(c, g));
for (f=0; f < b; f++) c=x[f](c);
return c
}
function g(a, e, f, g, h){
var i=b(a),
j=i.autoCallback;
i.url.split(".").pop().split("?").shift(), i.bypass||(e&&(e=d(e) ? e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]), i.instead ? i.instead(a, e, f, g, h):(y[i.url] ? i.noexec = !0:y[i.url]=1, f.load(i.url, i.forceCSS||!i.forceJS&&"css"==i.url.split(".").pop().split("?").shift() ? "c":c, i.noexec, i.attrs, i.timeout), (d(e)||d(j))&&f.load(function(){
k(), e&&e(i.origUrl, h, g), j&&j(i.origUrl, h, g), y[i.url]=2
})))
}
function h(a, b){
function c(a, c){
if(a){
if(e(a)) c||(j=function(){
var a=[].slice.call(arguments);
k.apply(this, a), l()
}), g(a, j, b, 0, h);
else if(Object(a)===a)
for (n in m=function(){
var b=0,
c;
for (c in a) a.hasOwnProperty(c)&&b++;
return b
}(), a) a.hasOwnProperty(n)&&(!c&&!--m&&(d(j) ? j=function(){
var a=[].slice.call(arguments);
k.apply(this, a), l()
}:j[n]=function(a){
return function(){
var b=[].slice.call(arguments);
a&&a.apply(this, b), l()
}}(k[n])), g(a[n], j, b, n, h))
} else !c&&l()
}
var h = !!a.test,
i=a.load||a.both,
j=a.callback||f,
k=j,
l=a.complete||f,
m, n;
c(h ? a.yep:a.nope, !!i), i&&c(i)
}
var i, j, l=this.yepnope.loader;
if(e(a)) g(a, 0, l, 0);
else if(w(a))
for (i=0; i < a.length; i++) j=a[i], e(j) ? g(j, 0, l, 0):w(j) ? B(j):Object(j)===j&&h(j, l);
else Object(a)===a&&h(a, l)
}, B.addPrefix=function(a, b){
z[a]=b
}, B.addFilter=function(a){
x.push(a)
}, B.errorTimeout=1e4, null==b.readyState&&b.addEventListener&&(b.readyState="loading", b.addEventListener("DOMContentLoaded", A=function(){
b.removeEventListener("DOMContentLoaded", A, 0), b.readyState="complete"
}, 0)), a.yepnope=k(), a.yepnope.executeStack=h, a.yepnope.injectJs=function(a, c, d, e, i, j){
var k=b.createElement("script"),
l, o, e=e||B.errorTimeout;
k.src=a;
for (o in d) k.setAttribute(o, d[o]);
c=j ? h:c||f, k.onreadystatechange=k.onload=function(){
!l&&g(k.readyState)&&(l=1, c(), k.onload=k.onreadystatechange=null)
}, m(function(){
l||(l=1, c(1))
}, e), i ? k.onload():n.parentNode.insertBefore(k, n)
}, a.yepnope.injectCss=function(a, c, d, e, g, i){
var e=b.createElement("link"),
j, c=i ? h:c||f;
e.href=a, e.rel="stylesheet", e.type="text/css";
for (j in d) e.setAttribute(j, d[j]);
g||(n.parentNode.insertBefore(e, n), m(c, 0))
}}(this, document), Modernizr.load=function(){
yepnope.apply(window, [].slice.call(arguments, 0))
};
;
(function($, window, undefined){
'use strict';
var Modernizr=window.Modernizr,
$body=$('body');
$.DLMenu=function(options, element){
this.$el=$(element);
this._init(options);
};
$.DLMenu.defaults={
animationClasses: {
classin: 'mk-vm-animate-in-' + mk_vertical_header_anim,
classout: 'mk-vm-animate-out-' + mk_vertical_header_anim
},
onLevelClick: function(el, name){
return false;
},
onLinkClick: function(el, ev){
return false;
}};
$.DLMenu.prototype={
_init: function(options){
this.options=$.extend(true, {}, $.DLMenu.defaults, options);
this._config();
var animEndEventNames={
'WebkitAnimation': 'webkitAnimationEnd',
'OAnimation': 'oAnimationEnd',
'msAnimation': 'MSAnimationEnd',
'animation': 'animationend'
},
transEndEventNames={
'WebkitTransition': 'webkitTransitionEnd',
'MozTransition': 'transitionend',
'OTransition': 'oTransitionEnd',
'msTransition': 'MSTransitionEnd',
'transition': 'transitionend'
};
this.animEndEventName=animEndEventNames[Modernizr.prefixed('animation')] + '.dlmenu';
this.transEndEventName=transEndEventNames[Modernizr.prefixed('transition')] + '.dlmenu';
this.animEndEventNameUnsufixed=animEndEventNames[Modernizr.prefixed('animation')];
this.transEndEventNameUnsufixed=transEndEventNames[Modernizr.prefixed('transition')];
this.supportAnimations=Modernizr.cssanimations;
this.supportTransitions=Modernizr.csstransitions;
this._initEvents();
},
_config: function(){
this.open=false;
this.$trigger=this.$el.children('.mk-vm-trigger');
this.$menu=this.$el.children('ul.mk-vm-menu');
this.$menuitems=this.$menu.find('li:not(.mk-vm-back)');
this.$el.find('ul.sub-menu').prepend('
' + mk_vertical_header_back + '');
this.$back=this.$menu.find('li.mk-vm-back');
},
_initEvents: function(){
var self=this;
$('.mk-vm-menuwrapper a').on('transitionend', function(event){
event.stopPropagation();
});
this.$menuitems.on('click.dlmenu', 'a', function(event){
var $item=$(event.delegateTarget),
$submenu=$(event.currentTarget).siblings('ul.sub-menu');
if($submenu.length > 0){
var $flyin=$submenu.clone().css('opacity', 0).insertAfter(self.$menu),
onAnimationEndFn=function(){
self.$menu.off(self.animEndEventName).removeClass(self.options.animationClasses.classout).addClass('mk-vm-subview');
$item.addClass('mk-vm-subviewopen').parents('.mk-vm-subviewopen:first').removeClass('mk-vm-subviewopen').addClass('mk-vm-subview');
$flyin.remove();
};
setTimeout(function(){
$flyin.addClass(self.options.animationClasses.classin);
self.$menu.addClass(self.options.animationClasses.classout);
if(self.supportAnimations){
self.$menu.on(self.animEndEventName, onAnimationEndFn);
}else{
onAnimationEndFn.call();
}
self.options.onLevelClick($item, $item.children('a:first').text());
});
if(self.open){
self._closeMenu();
}else{
self._openMenu();
}
return false;
}else{
self.options.onLinkClick($item, event);
}});
this.$back.on('click.dlmenu', function(event){
var $this=$(this),
$submenu=$this.parents('ul.sub-menu:first'),
$item=$submenu.parent(),
$flyin=$submenu.clone().insertAfter(self.$menu);
var onAnimationEndFn=function(){
self.$menu.off(self.animEndEventName).removeClass(self.options.animationClasses.classin);
$flyin.remove();
};
setTimeout(function(){
$flyin.addClass(self.options.animationClasses.classout);
self.$menu.addClass(self.options.animationClasses.classin);
if(self.supportAnimations){
self.$menu.on(self.animEndEventName, onAnimationEndFn);
}else{
onAnimationEndFn.call();
}
$item.removeClass('mk-vm-subviewopen');
var $subview=$this.parents('.mk-vm-subview:first');
if($subview.is('li')){
$subview.addClass('mk-vm-subviewopen');
}
$subview.removeClass('mk-vm-subview');
});
return false;
});
},
closeMenu: function(){
if(this.open){
this._closeMenu();
}},
_closeMenu: function(){
var self=this,
onTransitionEndFn=function(){
self.$menu.off(self.transEndEventName);
self._resetMenu();
};
this.$menu.removeClass('mk-vm-menuopen');
this.$menu.addClass('mk-vm-menu-toggle');
this.$trigger.removeClass('mk-vm-active');
if(this.supportTransitions){
this.$menu.on(this.transEndEventName, onTransitionEndFn);
}else{
onTransitionEndFn.call();
}
this.open=false;
},
openMenu: function(){
if(!this.open){
this._openMenu();
}},
_openMenu: function(){
var self=this;
$body.off('click').on('click.dlmenu', function(){
self._closeMenu();
});
this.$menu.addClass('mk-vm-menuopen mk-vm-menu-toggle').on(this.transEndEventName, function(){
$(this).removeClass('mk-vm-menu-toggle');
});
this.$trigger.addClass('mk-vm-active');
this.open=true;
},
_resetMenu: function(){
this.$menu.removeClass('mk-vm-subview');
this.$menuitems.removeClass('mk-vm-subview mk-vm-subviewopen');
}};
var logError=function(message){
if(window.console){
window.console.error(message);
}};
$.fn.dlmenu=function(options){
if(typeof options==='string'){
var args=Array.prototype.slice.call(arguments, 1);
this.each(function(){
var instance=$.data(this, 'dlmenu');
if(!instance){
logError("cannot call methods on dlmenu prior to initialization; " +
"attempted to call method '" + options + "'");
return;
}
if(!$.isFunction(instance[options])||options.charAt(0)==="_"){
logError("no such method '" + options + "' for dlmenu instance");
return;
}
instance[options].apply(instance, args);
});
}else{
this.each(function(){
var instance=$.data(this, 'dlmenu');
if(instance){
instance._init();
}else{
instance=$.data(this, 'dlmenu', new $.DLMenu(options, this));
}});
}
return this;
};})(jQuery, window);
(function($){
'use strict';
$('.menu-item-has-children').children('a').attr('aria-haspopup', 'true');
$('.animated-column-item').attr('aria-haspopup', 'true');
})(jQuery);
(function($){
'use strict';
var Accordion=function(el){
var that=this,
$el=$(el),
initial=$el.data('initialindex'),
timeout;
this.$el=$el;
this.$single=$('.' + this.dom.single, $el);
this.isExpendable=($el.data('style')==='toggle-action');
this.bindClicks();
$(window).on('load', function(){
if(initial!==-1) that.show(that.$single.eq(initial))
});
$(window).on('resize', function(){
clearTimeout(timeout);
timeout=setTimeout(that.bindClicks.bind(that), 500);
});
}
Accordion.prototype.dom={
single:'mk-accordion-single',
tab:'mk-accordion-tab',
pane:'mk-accordion-pane',
current:'current',
mobileToggle:'mobile-false',
mobileBreakPoint:767
}
Accordion.prototype.bindClicks=function(){
this.$single.off('click', '.' + this.dom.tab);
if(!(window.matchMedia('(max-width: ' + this.dom.mobileBreakPoint +'px)').matches
&& this.$el.hasClass(this.dom.mobileToggle))){
this.$single.on('click', '.' + this.dom.tab, this.handleEvent.bind(this));
var $current=$('.' + this.dom.current, this.$el);
if($('.' + this.dom.pane, $current).css('display')==='none') this.show($current);
}}
Accordion.prototype.handleEvent=function(e){
e.preventDefault();
e.stopPropagation();
var $single=$(e.delegateTarget);
if(!$single.hasClass(this.dom.current)){
this.show($single);
}else{
if(this.isExpendable) this.hide($single);
}}
Accordion.prototype.hide=function($single){
$single.removeClass(this.dom.current);
$('.' + this.dom.pane, $single).slideUp();
}
Accordion.prototype.show=function($single){
if(!this.isExpendable){
var that=this;
this.hide($('.' + this.dom.current, that.$el));
}
$single.addClass(this.dom.current);
$('.' + this.dom.pane, $single).slideDown();
}
$('.mk-accordion').each(function(){
new Accordion(this);
});
})(jQuery);
(function($){
'use strict';
if(typeof Raphael==='undefined') return;
var SkillDiagram=function(el){
this.el=el;
}
SkillDiagram.prototype={
init:function(){
this.cacheElements();
this.createDiagram();
this.$skills.each(this.createSkill.bind(this));
},
cacheElements:function(){
this.$el=$(this.el);
this.$skills=this.$el.find('.mk-meter-arch');
this.config=this.$el.data();
this.config.radius=this.config.dimension / 2;
},
random:function(l, u){
return Math.floor(( Math.random() *(u - l + 1)) + l);
},
createDiagram:function(){
var self=this;
this.diagram=Raphael(this.el, this.config.dimension, this.config.dimension);
this.diagram.circle(this.config.radius, this.config.radius, 80).attr({
stroke: 'none',
fill: this.config.circleColor
});
this.title=this.diagram.text(this.config.radius, this.config.radius, this.config.defaultText).attr({
font: "22px helvetica",
fill: this.config.defaultTextColor
}).toFront();
this.diagram.customAttributes.arc=function(value, color, rad){
var v=3.6 * value,
alpha=v==360 ? 359.99:v,
r=self.random(91, 240),
a=(r - alpha) * Math.PI/180,
b=r * Math.PI/180,
sx=self.config.radius + rad * Math.cos(b),
sy=self.config.radius - rad * Math.sin(b),
x=self.config.radius + rad * Math.cos(a),
y=self.config.radius - rad * Math.sin(a),
path=[['M', sx, sy], ['A', rad, rad, 0, +(alpha > 180), 1, x, y]];
return {
path: path,
stroke: color
}}
},
createSkill:function(id, el){
var self=this,
$this=$(el),
config=$this.data(),
radMin=72,
radVal=27,
newRad=radMin +(radVal * (id + 1));
var $path=this.diagram.path().attr({
'stroke-width': 28,
arc: [config.percent, config.color, newRad]
});
$path.mouseover(function(){
self.showSkill(this, config.name, config.percent);
}).mouseout(function(){
self.hideSkill(this)
});
},
showSkill:function(self, name, percent){
var $this=self,
time=250;
if(Raphael.type!='VML') $this.toFront();
$this.animate({
'stroke-width': 50,
'opacity': 0.9,
}, 800, 'elastic');
this.title.stop()
.animate({ opacity: 0 }, time, '>', function(){
this.attr({ text: name + '\n' + percent + '%' }).animate({ opacity: 1 }, time, '<');
});
},
hideSkill:function(self){
var $this=self,
self=this,
time=250;
$this.stop().animate({
'stroke-width': 28,
opacity: 1
}, time * 4, 'elastic');
self.title.stop()
.animate({ opacity: 0 }, time, '>', function(){
self.title.attr({ text: self.config.defaultText })
.animate({ opacity: 1 }, time, '<');
});
}}
$('.mk-skill-diagram').each(function(){
var diagram=new SkillDiagram(this);
diagram.init();
});
})(jQuery);
(function($){
'use strict';
$('[data-js="tab-delegation"]').each(tabDelegation);
function tabDelegation(){
var $this=$(this),
data=$this.data();
if(data.tab) $this.on('click', 'a', openInTab);
}
function openInTab(e){
e.preventDefault();
var $this=$(this),
url=$this.attr('href');
window.open(url, '_blank');
}})(jQuery);
(function($){
'use strict';
var Toggle=function(el){
var that=this,
$el=$(el);
this.$el=$el;
$(window).on('load', function(){
$el.toggle(that.open.bind(that), that.close.bind(that));
});
};
Toggle.prototype.dom={
pane:'mk-toggle-pane',
active:'active-toggle'
};
Toggle.prototype.open=function(){
var $this=this.$el;
$this.addClass(this.dom.active);
$this.siblings('.' + this.dom.pane).slideDown(200);
};
Toggle.prototype.close=function(){
var $this=this.$el;
$this.removeClass(this.dom.active);
$this.siblings('.' + this.dom.pane).slideUp(200);
};
var $toggle=$('.mk-toggle-title');
if(!$toggle.length) return;
$toggle.each(function(){
new Toggle(this);
});
})(jQuery);
window.ajaxInit=function(){
mk_lightbox_init();
mk_click_events();
mk_social_share_global();
mk_social_share();
mk_gallery();
loop_audio_init();
};
window.ajaxDelayedInit=function(){
mk_flexslider_init();
};
$(document).ready(function(){
mk_lightbox_init();
mk_login_form();
mk_backgrounds_parallax();
mk_flexslider_init();
mk_event_countdown();
mk_skill_meter();
mk_milestone();
mk_ajax_search();
mk_hover_events();
mk_portfolio_ajax();
mk_love_post();
product_loop_add_cart();
mk_social_share();
mk_portfolio_widget();
mk_contact_form();
mk_blog_carousel();
mk_header_searchform();
mk_click_events();
mk_text_typer();
mk_tab_slider_func();
mk_one_page_scroller();
mk_one_pager_resposnive();
$(window).load(function(){
mk_unfold_footer();
mk_tabs();
mk_accordion_toggles_tooltip();
mk_gallery();
mk_edge_fullpage_pagination();
mk_theatre_responsive_calculator();
mk_tabs_responsive();
mk_start_tour_resize();
mk_header_social_resize();
mk_page_section_social_video_bg();
loop_audio_init();
setTimeout(function(){
mk_mobile_tablet_responsive_calculator();
}, 300);
console.log("ready for rock");
});
var onDebouncedResize=function(){
mk_theatre_responsive_calculator();
mk_mobile_tablet_responsive_calculator();
mk_tabs_responsive();
mk_accordion_toggles_tooltip();
mk_start_tour_resize();
mk_header_social_resize();
setTimeout(function(){
mk_one_pager_resposnive();
mk_unfold_footer();
}, 300);
};
var debounceResize=null;
$(window).on("resize", function(){
if(debounceResize!==null){ clearTimeout(debounceResize); }
debounceResize=setTimeout(onDebouncedResize, 300);
});
var onDebouncedScroll=function(){
mk_skill_meter();
mk_milestone();
};
var debounceScroll=null;
$(window).on("scroll", function(){
if(debounceScroll!==null){ clearTimeout(debounceScroll); }
debounceScroll=setTimeout(onDebouncedScroll, 100);
});
if(MK.utils.isMobile()){
$('body').addClass('no-transform');
}});
function mk_text_typer(){
"use strict";
$('[data-typer-targets]').each(function(){
var that=this;
MK.core.loadDependencies([ MK.core.path.plugins + 'jquery.typed.js' ], function(){
var $this=$(that),
$first_string=[$this.text()],
$rest_strings=$this.attr('data-typer-targets').split(','),
$strings=$first_string.concat($rest_strings);
$this.text('');
$this.typed({
strings: $strings,
typeSpeed: 30,
backDelay: 1200,
loop: true,
loopCount: false,
});
});
});
}
function mk_tab_slider_func(){
"use strict";
$('.mk-tab-slider').each(function(){
var that=this;
MK.core.loadDependencies([ MK.core.path.plugins + 'jquery.swiper.js' ], function(){
var $this=$(that),
id=$this.data('id'),
$autoplayTime=$this.data('autoplay'),
$content=$('.mk-slider-content');
var mk_tab_slider=$this.swiper({
wrapperClass: 'mk-tab-slider-wrapper',
slideClass: 'mk-tab-slider-item',
calculateHeight: true,
speed: 500,
autoplay: $autoplayTime,
onSlideChangeStart: function(){
$('.mk-tab-slider-nav[data-id="' + id + '"]').find(".active").removeClass('active')
$('.mk-tab-slider-nav[data-id="' + id + '"]').find("a").eq(mk_tab_slider.activeIndex).addClass('active')
}});
function repaintFirefox(){
$content.css('display','block');
setTimeout(function(){
mk_tab_slider.reInit();
$content.css('display','table');
},100);
}
$('.mk-tab-slider-nav[data-id="' + id + '"]').find("a").first().addClass('active');
$('.mk-tab-slider-nav[data-id="' + id + '"]').find("a").on('touchstart mousedown', function(e){
e.preventDefault()
$('.mk-tab-slider-nav[data-id="' + id + '"]').find(".active").removeClass('active')
$(this).addClass('active')
mk_tab_slider.swipeTo($(this).index())
});
$('.mk-tab-slider-nav[data-id="' + id + '"]').find("a").click(function(e){
e.preventDefault();
});
repaintFirefox();
$(window).on('resize', repaintFirefox);
});
});
}
function mk_one_page_scroller(){
"use strict";
$('.mk-edge-one-pager').each(function(){
var self=this;
MK.core.loadDependencies([ MK.core.path.plugins + 'jquery.fullpage.js' ], function(){
var $this=$(self),
$tooltip_txt=[];
$this.find('.section').each(function(){
$tooltip_txt.push($(this).attr('data-title'));
});
var scrollable=true;
$this.find('.section').each(function(){
var $section=$(this),
$content=$section.find('.edge-slide-content'),
sectionHeight=$section.height(),
contentHeight=$content.innerHeight();
if((contentHeight + 30) > $(window).height()){
scrollable=false;
}});
if(!scrollable){
$this.find('.section').each(function(){
var $section=$(this);
$section.addClass('active').css({
'padding-bottom': '50px'
});
});
}
if(scrollable){
$this.fullpage({
verticalCentered: false,
resize: true,
slidesColor: ['#ccc', '#fff'],
anchors: $tooltip_txt,
scrollingSpeed: 600,
easing: 'easeInQuart',
menu: false,
navigation: true,
navigationPosition: 'right',
navigationTooltips: false,
slidesNavigation: true,
slidesNavPosition: 'bottom',
loopBottom: false,
loopTop: false,
loopHorizontal: true,
autoScrolling: true,
scrollOverflow: false,
css3: true,
paddingTop: 0,
paddingBottom: 0,
normalScrollElements: '.mk-header, .mk-responsive-wrap',
normalScrollElementTouchThreshold: 5,
keyboardScrolling: true,
touchSensitivity: 15,
continuousVertical: false,
animateAnchor: true,
onLeave: function(index, nextIndex, direction){
var currentSkin=$this.find('.one-pager-slide').eq(nextIndex - 1).attr('data-header-skin');
MK.utils.eventManager.publish('firstElSkinChange', currentSkin);
$('#fullPage-nav').removeClass('light-skin dark-skin').addClass(currentSkin + '-skin');
},
afterRender: function(){
setTimeout(function(){
var currentSkin=$this.find('.one-pager-slide').eq(0).attr('data-header-skin');
MK.utils.eventManager.publish('firstElSkinChange', currentSkin);
$('#fullPage-nav').removeClass('light-skin dark-skin').addClass(currentSkin + '-skin');
}, 300);
},
});
}});
});
}
function mk_one_pager_resposnive(){
"use strict";
$('.mk-edge-one-pager').each(function(){
var $this=$(this),
$header_height=0;
var $window_height=$(window).outerHeight();
if($(window).width() <=mk_responsive_nav_width){
$header_height=$('.mk-header').data('height');
}
$this.find('.one-pager-slide').each(function(){
var $this=$(this),
$content=$this.find('.edge-slide-content');
if($this.hasClass('left_center')||$this.hasClass('center_center')||$this.hasClass('right_center')){
var $this_height_half=$content.outerHeight() / 2,
$window_half=$window_height / 2;
$distance_from_top=($window_half - $this_height_half),
$distance_from_top=($distance_from_top < 50) ? 50 + ($header_height / 2):$distance_from_top + ($header_height / 2);
$content.css('marginTop', $distance_from_top);
$content.css('marginBottom', $distance_from_top);
}
if($this.hasClass('left_bottom')||$this.hasClass('center_bottom')||$this.hasClass('right_bottom')){
var $distance_from_top=$window_height - $content.outerHeight() - 90;
$content.css('marginTop', ($distance_from_top));
}});
});
}
function mk_gallery(){
"use strict";
$('.mk-gallery .mk-gallery-item.hover-overlay_layer .item-holder').each(function(){
var itemHolder=$(this),
galleryDesc=itemHolder.find('.gallery-desc');
function updatePosition(){
var parentHeight=itemHolder.outerHeight(),
contentHeight=galleryDesc.innerHeight();
var paddingVal=(parentHeight - contentHeight) / 2;
galleryDesc.css({
'top': paddingVal,
});
}
updatePosition();
$(window).on('resize', function(){
setTimeout(function(){
updatePosition();
}, 1000);
});
});
}
function mk_edge_fullpage_pagination(){
"use strict";
var style=$('#fullpage').attr('data-pagination');
$('#fullPage-nav').addClass('pagination-' + style);
}
function mk_theatre_responsive_calculator(){
var $laptopContainer=$(".laptop-theatre-slider");
var $computerContainer=$(".desktop-theatre-slider");
$laptopContainer.each(function(){
var $this=$(this),
$window=$(window),
$windowWidth=$window.outerWidth(),
$windowHeight=$window.outerHeight(),
$width=$this.outerWidth(),
$height=$this.outerHeight(),
$paddingTop=38,
$paddingRight=143,
$paddingBottom=78,
$paddingLeft=143;
var $player=$this.find('.player-container');
if($windowWidth > $width){
$player.css({
'padding-left': parseInt(($width * $paddingLeft) / 1200),
'padding-right': parseInt(($width * $paddingRight) / 1200),
'padding-top': parseInt(($height * $paddingTop) / 690),
'padding-bottom': parseInt(($height * $paddingBottom) / 690),
});
}});
$computerContainer.each(function(){
var $this=$(this),
$window=$(window),
$windowWidth=$window.outerWidth(),
$windowHeight=$window.outerHeight(),
$width=$this.outerWidth(),
$height=$this.outerHeight(),
$paddingTop=60,
$paddingRight=52,
$paddingBottom=290,
$paddingLeft=49;
var $player=$this.find('.player-container');
if($windowWidth > $width){
$player.css({
'padding-left': parseInt(($width * $paddingLeft) / 1200),
'padding-right': parseInt(($width * $paddingRight) / 1200),
'padding-top': parseInt(($height * $paddingTop) / 969),
'padding-bottom': parseInt(($height * $paddingBottom) / 969),
});
}});
}
function mk_mobile_tablet_responsive_calculator(){
var $laptopSlideshow=$(".mk-laptop-slideshow-shortcode");
var $lcdSlideshow=$(".mk-lcd-slideshow");
if($.exists(".mk-laptop-slideshow-shortcode")){
$laptopSlideshow.each(function(){
var $this=$(this),
$window=$(window),
$windowWidth=$window.outerWidth(),
$windowHeight=$window.outerHeight(),
$width=$this.outerWidth(),
$height=$this.outerHeight(),
$paddingTop=28,
$paddingRight=102,
$paddingBottom=52,
$paddingLeft=102;
var $player=$this.find(".slideshow-container");
$player.css({
"padding-left": parseInt(($width * $paddingLeft) / 836),
"padding-right": parseInt(($width * $paddingRight) / 836),
"padding-top": parseInt(($height * $paddingTop) / 481),
"padding-bottom": parseInt(($height * $paddingBottom) / 481),
});
});
}
if($.exists(".mk-lcd-slideshow")){
$lcdSlideshow.each(function(){
var $this=$(this),
$window=$(window),
$windowWidth=$window.outerWidth(),
$windowHeight=$window.outerHeight(),
$width=$this.outerWidth(),
$height=$this.outerHeight(),
$paddingTop=35,
$paddingRight=39,
$paddingBottom=213,
$paddingLeft=36;
var $player=$this.find(".slideshow-container");
$player.css({
"padding-left": parseInt(($width * $paddingLeft) / 886),
"padding-right": parseInt(($width * $paddingRight) / 886),
"padding-top": parseInt(($height * $paddingTop) / 713),
"padding-bottom": parseInt(($height * $paddingBottom) / 713),
});
});
}}
function mk_start_tour_resize(){
$('.mk-header-start-tour').each(function(){
var $windowWidth=$(document).width(),
$this=$(this),
$linkWidth=$this.width() + 15,
$padding=($windowWidth - mk_responsive_nav_width) / 2;
function updateStartTour(){
if($windowWidth < mk_responsive_nav_width){
$this.removeClass('hidden');
$this.addClass('show');
}else{
if($padding < $linkWidth){
$this.removeClass('show');
$this.addClass('hidden');
}else{
$this.removeClass('hidden');
$this.addClass('show');
}}
}
setTimeout(function(){
updateStartTour();
}, 300);
});
}
function mk_header_social_resize(){
$('.mk-header-social.header-section').each(function(){
var $windowWidth=$(document).width(),
$this=$(this),
$linkWidth=$this.width() + 15,
$padding=($windowWidth - mk_responsive_nav_width) / 2;
function updateStartTour(){
if($windowWidth < mk_responsive_nav_width){
$this.removeClass('hidden');
$this.addClass('show');
}else{
if($padding < $linkWidth){
$this.removeClass('show');
$this.addClass('hidden');
}else{
$this.removeClass('hidden');
$this.addClass('show');
}}
}
setTimeout(function(){
updateStartTour();
}, 300);
});
}
function mk_page_section_social_video_bg(){
$(".mk-page-section.social-hosted").each(function(){
var $container=$(this),
$source=$container.data('source'),
player;
if($source=='youtube'){
var youtube=$container.find('iframe')[0];
player=new YT.Player(youtube);
setTimeout(function(){
player.playVideo();
player.mute();
}, 1000);
}
if($source=='vimeo'){
var vimeo=$container.find('iframe')[0];
player=$f(vimeo);
setTimeout(function(){
player.api('play');
player.api('setVolume', 0);
}, 1000);
}});
}
function videoLoadState(){
$('.mk-section-video video').each(function(){
var mkVideo=this;
this.onload=fire();
function fire(){
setTimeout(function(){
$(mkVideo).animate({
'opacity': 1
}, 300);
}, 1000);
}});
}
videoLoadState();
function mk_accordion_toggles_tooltip(){
"use strict";
$('.box-close-btn').on('click', function(){
$(this).parent().fadeOut(300);
return false;
});
}
function mk_portfolio_ajax(){
"use strict";
var headerHeight=0;
if($.exists("#wpadminbar")){
headerHeight +=$("#wpadminbar").height();
}
if(!$.exists('.mk-vm-menuwrapper')){
headerHeight +=parseInt($('.mk-header').attr('data-sticky-height'));
}
function init(){
setTimeout(function(){
$('.portfolio-grid.portfolio-ajax-enabled').each(function(){
$(this).ajaxPortfolio({
extraOffset: headerHeight
});
});
}, 100);
}
MK.core.loadDependencies([ MK.core.path.plugins + 'jquery.ajax.portfolio.js' ], init);
MK.utils.eventManager.subscribe('ajaxLoaded', init);
}
function mk_ajax_search(){
"use strict";
if($.exists('.main-nav-side-search')&&mk_ajax_search_option=="beside_nav"){
var security=$('#mk-ajax-search-input').siblings('input[name="security"]').val(),
_wp_http_referer=$('#mk-ajax-search-input').siblings('input[name="_wp_http_referer"]').val();
$("#mk-ajax-search-input").autocomplete({
delay: 40,
minLength: 2,
appendTo: $("#mk-nav-search-wrapper"),
search: function (event, ui){
$(this).parent('form').addClass('ajax-searching');
},
source: function (req, response){
var query_spliter=(ajaxurl.indexOf('?') > -1) ? '&':'?';
$.getJSON(ajaxurl + query_spliter + 'callback=?&action=mk_ajax_search&security='+security+'&_wp_http_referer='+_wp_http_referer, req, response);
},
select: function (event, ui){
window.location.href=ui.item.link;
},
response: function (event, ui){
$(this).parent('form').removeClass('ajax-searching').addClass('ajax-search-complete');
}}).data("ui-autocomplete")._renderItem=function (ul, item){
return $("
").append("" + item.image + "" + item.label + "" + item.date + "").appendTo(ul);
};}}
function mk_backgrounds_parallax(){
"use strict";
if(mk_header_parallax==true){
$('.mk-header-bg').addClass('mk-parallax-enabled');
}
if(mk_body_parallax==true){
$('body').addClass('mk-parallax-enabled');
}
if(mk_banner_parallax==true){
$('.mk-header').addClass('mk-parallax-enabled');
}
if(mk_page_parallax==true){
$('#theme-page').addClass('mk-parallax-enabled');
}
if(mk_footer_parallax==true){
$('#mk-footer').addClass('mk-parallax-enabled');
}
$('.mk-parallax-enabled').each(function (){
var $this=$(this);
if(!MK.utils.isMobile()){
MK.core.loadDependencies([ MK.core.path.plugins + 'jquery.parallax.js' ], function(){
$this.parallax("49%", 0.3);
});
}});
$('.mk-fullwidth-slideshow.parallax-slideshow').each(function (){
var $this=$(this);
if(!MK.utils.isMobile()){
MK.core.loadDependencies([ MK.core.path.plugins + 'jquery.parallax.js' ], function(){
var speed_factor=$this.attr('data-speedFactor');
$this.parallax("49%", speed_factor);
});
}});
}
function loop_audio_init(){
if($.exists('.jp-jplayer')){
$('.jp-jplayer.mk-blog-audio').each(function (){
var $this=$(this);
MK.core.loadDependencies([ MK.core.path.plugins + 'jquery.jplayer.js' ], function(){
var css_selector_ancestor="#" + $this.siblings('.jp-audio').attr('id');
var ogg_file, mp3_file, mk_theme_js_path;
ogg_file=$this.attr('data-ogg');
mp3_file=$this.attr('data-mp3');
$this.jPlayer({
ready: function (){
$this.jPlayer("setMedia", {
mp3: mp3_file,
ogg: ogg_file
});
},
play: function (){
$this.jPlayer("pauseOthers");
},
swfPath: mk_theme_js_path,
supplied: "mp3, ogg",
cssSelectorAncestor: css_selector_ancestor,
wmode: "window"
});
});
});
}}
function mk_blog_carousel(){
"use strict";
if(!$.exists('.mk-blog-showcase')){
return;
}
$('.mk-blog-showcase ul li').each(function (){
$(this).on('hover', function (){
$(this).siblings('li').removeClass('mk-blog-first-el').end().addClass('mk-blog-first-el');
});
});
}
function mk_contact_form(){
"use strict";
if($('.mk-contact-form').length){
$('.mk-contact-form').each(function(){
var $this=$(this);
var $input=$this.find('input, textarea');
var activeClass='is-active';
$input.filter('[type=email]').attr('type', 'emailModern');
var setActive=function (){
$(this).parent().addClass(activeClass);
};
var unsetActive=function (){
if(isEmpty(this)){
$(this).parent().removeClass(activeClass);
}};
var isEmpty=function(el){
return $(el).val()==='';
};
var markActive=function (){
var $this=$(this);
$this.on({
focus: setActive,
blur: unsetActive
});
};
$input.each(markActive);
});
MK.core.loadDependencies([ MK.core.path.plugins + 'jquery.tools.validator.js' ], function(){
$('.captcha-image-holder').append('');
$.tools.validator.addEffect("contact_form", function(errors){
$.each(errors, function(index, error){
var input=error.input;
input.addClass('mk-invalid');
});
}, function(inputs){
inputs.removeClass('mk-invalid');
});
$(".captcha-change-image").on("click", function(e){
e.preventDefault();
changeCaptcha();
});
$('.mk-contact-form').find('[type=email]').attr('type', 'emailModern');
$.tools.validator.fn('[type=emailModern]', 'Please supply a valid email address for me', function(input, value){
return /^([a-z0-9_\.\-\+]+)@([\da-z\.\-]+)\.([a-z\.]{2,63})$/i.test(value);
});
var changeCaptcha=function(){
$(".captcha-image").attr("src", mk_theme_dir + "/captcha/captcha.php?"+Math.random());
};
var sendForm;
var checkCaptcha=function(form, enteredCaptcha){
window.get.captcha(enteredCaptcha).done(function(data){
if(data!="ok"){
changeCaptcha();
form.find(".captcha-form").val("").addClass('contact-captcha-invalid').attr("placeholder", mk_captcha_invalid_txt);
}else{
sendForm();
changeCaptcha();
form.find(".captcha-form").val("").addClass('contact-captcha-valid').attr("placeholder", mk_captcha_correct_txt);
}});
};
$('.mk-contact-form').validator({
effect: 'contact_form'
}).submit(function(e){
var form=$(this);
var captcha_text=form.find(".captcha-form").attr('data-placeholder');
if(!e.isDefaultPrevented()){
var data={
action: 'mk_contact_form',
security:form.find('input[name="security"]').val(),
_wp_http_referer:form.find('input[name="_wp_http_referer"]').val(),
p_id:form.find('input[name="p_id"]').val(),
sh_id: form.find('input[name="sh_id"]').val(),
name: form.find('input[name="contact_name"]').val(),
last_name: form.find('input[name="contact_last_name"]').val(),
phone: form.find('input[name="contact_phone"]').val(),
email: form.find('input[name="contact_email"]').val(),
website: form.find('input[name="contact_website"]').val(),
content: form.find('textarea[name="contact_content"]').val()
};
sendForm=function(){
progressButton.loader(form);
$.post(ajaxurl, data, function(response){
form.find('.mk-contact-loading').fadeOut('slow');
form.find('.text-input').val('');
form.find('textarea').val('');
form.find('.captcha-form').removeClass('contact-captcha-valid contact-captcha-invalid').attr('placeholder', captcha_text);
progressButton.success(form);
});
};
var enteredCaptcha=form.find('input[name="captcha"]').val();
if(form.find('.captcha-form').length){
checkCaptcha(form, enteredCaptcha);
}else{
sendForm();
}
e.preventDefault();
}});
});
}}
function mk_login_form(){
$('form.mk-login-form').each(function(){
var $this=$(this);
$this.on('submit', function(e){
$('p.mk-login-status', $this).show().text(ajax_login_object.loadingmessage);
$.ajax({
type: 'POST',
dataType: 'json',
url: ajax_login_object.ajaxurl,
data: {
'action': 'ajaxlogin',
'username': $('#username', $this).val(),
'password': $('#password', $this).val(),
'security': $('#security', $this).val()
},
success: function(data){
$('p.mk-login-status', $this).text(data.message);
if(data.loggedin===true){
document.location.href=ajax_login_object.redirecturl;
}}
});
e.preventDefault();
});
});
}
var progressButton={
loader: function(form){
MK.core.loadDependencies([ MK.core.path.plugins + 'tweenmax.js' ], function(){
var $form=form,
progressBar=$form.find(".mk-progress-button .mk-progress-inner"),
buttonText=$form.find(".mk-progress-button .mk-progress-button-content"),
progressButton=new TimelineLite();
progressButton
.to(progressBar, 0, {
width: "100%",
scaleX: 0,
scaleY: 1
})
.to(buttonText, .3, {
y: -5
})
.to(progressBar, 1.5, {
scaleX: 1,
ease: Power2.easeInOut
}, "-=.1")
.to(buttonText, .3, {
y: 0
})
.to(progressBar, .3, {
scaleY: 0
});
});
},
success: function(form){
MK.core.loadDependencies([ MK.core.path.plugins + 'tweenmax.js' ], function(){
var $form=form,
buttonText=$form.find(".mk-button .mk-progress-button-content, .mk-contact-button .mk-progress-button-content"),
successIcon=$form.find(".mk-progress-button .state-success"),
progressButtonSuccess=new TimelineLite({
onComplete: hideSuccessMessage
});
progressButtonSuccess
.to(buttonText, .3, {
paddingRight: 20,
ease: Power2.easeInOut
}, "+=1")
.to(successIcon, .3, {
opacity: 1
})
.to(successIcon, 2, {
opacity: 1
});
function hideSuccessMessage(){
progressButtonSuccess.reverse()
}});
},
error: function(form){
MK.core.loadDependencies([ MK.core.path.plugins + 'tweenmax.js' ], function(){
var $form=form,
buttonText=$form.find(".mk-button .mk-progress-button-content, .mk-contact-button .mk-progress-button-content"),
errorIcon=$form.find(".mk-progress-button .state-error"),
progressButtonError=new TimelineLite({
onComplete: hideErrorMessage
});
progressButtonError
.to(buttonText, .3, {
paddingRight: 20
}, "+=1")
.to(errorIcon, .3, {
opacity: 1
})
.to(errorIcon, 2, {
opacity: 1
});
function hideErrorMessage(){
progressButtonError.reverse()
}});
}}
function mk_click_events(){
"use strict";
var eventtype='click';
$(".mk-header-login, .mk-header-signup, .mk-side-dashboard, .mk-quick-contact-wrapper, .mk-dashboard-trigger, .blog-share-container, .news-share-buttons, .main-nav-side-search, #mk-fullscreen-search-wrapper, #fullscreen-navigation").on(eventtype, function(event){
if(event.stopPropagation){
event.stopPropagation();
}else if(window.event){
window.event.cancelBubble=true;
}});
$("html").on(eventtype, function(){
$(this).find(".mk-login-register, .mk-header-subscribe, #mk-quick-contact, .single-share-buttons, .single-share-box, .blog-social-share, .news-share-buttons, .mk-nav-search-wrapper").fadeOut(100);
$('.mk-quick-contact-link').removeClass('quick-contact-active');
});
$('.mk-fullscreen-search-overlay').on(eventtype,function(){
$(this).removeClass('mk-fullscreen-search-overlay-show');
});
$('.mk-forget-password').on(eventtype, function(){
$('.mk-forget-panel').siblings().hide().end().show();
});
$('.mk-create-account').on(eventtype, function(){
$('#mk-register-panel').siblings().hide().end().show();
});
$('.mk-return-login').on(eventtype, function(){
$('#mk-login-panel').siblings().hide().end().show();
});
$('.mk-quick-contact-link').on(eventtype, function(){
var $this=$(this),
$quickContact=$('#mk-quick-contact');
if(!$this.hasClass('quick-contact-active')){
$quickContact.addClass('quick-contact-anim').fadeIn(250);
$this.addClass('quick-contact-active');
}else{
$quickContact.removeClass('quick-contact-anim').fadeOut(100);
$this.removeClass('quick-contact-active');
}
return false;
});
}
function mk_social_share_global(){
"use strict";
var eventtype='click';
$('.twitter-share').on(eventtype, function(){
var $this=$(this),
$url=$this.attr('data-url'),
$title=$this.attr('data-title');
window.open('http://twitter.com/intent/tweet?text=' + $title + ' ' + $url, "twitterWindow", "height=380,width=660,resizable=0,toolbar=0,menubar=0,status=0,location=0,scrollbars=0");
return false;
});
$('.pinterest-share').on(eventtype, function(){
var $this=$(this),
$url=$this.attr('data-url'),
$title=$this.attr('data-title'),
$image=$this.attr('data-image');
window.open('http://pinterest.com/pin/create/button/?url=' + $url + '&media=' + $image + '&description=' + $title, "twitterWindow", "height=320,width=660,resizable=0,toolbar=0,menubar=0,status=0,location=0,scrollbars=0");
return false;
});
$('.facebook-share').on(eventtype, function(){
var $url=$(this).attr('data-url');
window.open('https://www.facebook.com/sharer/sharer.php?u=' + $url, "facebookWindow", "height=380,width=660,resizable=0,toolbar=0,menubar=0,status=0,location=0,scrollbars=0");
return false;
});
$('.googleplus-share').on(eventtype, function(){
var $url=$(this).attr('data-url');
window.open('https://plus.google.com/share?url=' + $url, "googlePlusWindow", "height=380,width=660,resizable=0,toolbar=0,menubar=0,status=0,location=0,scrollbars=0");
return false;
});
$('.linkedin-share').on(eventtype, function(){
var $this=$(this),
$url=$this.attr('data-url'),
$title=$this.attr('data-title'),
$desc=$this.attr('data-desc');
window.open('http://www.linkedin.com/shareArticle?mini=true&url=' + $url + '&title=' + $title + '&summary=' + $desc, "linkedInWindow", "height=380,width=660,resizable=0,toolbar=0,menubar=0,status=0,location=0,scrollbars=0");
return false;
});
}
function mk_event_countdown(){
if($.exists('.mk-event-countdown')){
MK.core.loadDependencies([ MK.core.path.plugins + 'jquery.countdown.js' ], function(){
$('.mk-event-countdown').each(function (){
var $this=$(this),
$date=$this.attr('data-date'),
$offset=$this.attr('data-offset');
$this.downCount({
date: $date,
offset: $offset
});
});
});
}}
function mk_flexslider_init(){
$('.js-flexslider').each(function (){
if($(this).parents('.mk-tabs').length||$(this).parents('.mk-accordion').length){
$(this).removeData("flexslider");
}
var $this=$(this),
$selector=$this.attr('data-selector'),
$animation=$this.attr('data-animation'),
$easing=$this.attr('data-easing'),
$direction=$this.attr('data-direction'),
$smoothHeight=$this.attr('data-smoothHeight')=="true" ? true:false,
$slideshowSpeed=$this.attr('data-slideshowSpeed'),
$animationSpeed=$this.attr('data-animationSpeed'),
$controlNav=$this.attr('data-controlNav')=="true" ? true:false,
$directionNav=$this.attr('data-directionNav')=="true" ? true:false,
$pauseOnHover=$this.attr('data-pauseOnHover')=="true" ? true:false,
$isCarousel=$this.attr('data-isCarousel')=="true" ? true:false,
$arrowLeft=$this.attr('data-arrow-left'),
$arrowRight=$this.attr('data-arrow-right');
if($arrowLeft===undefined){
$arrowLeft='';
}else{
$arrowLeft='';
}
if($arrowRight===undefined){
$arrowRight='';
}else{
$arrowRight='';
}
if($selector!==undefined){
var $selector_class=$selector;
}else{
var $selector_class=".mk-flex-slides > li";
}
if($isCarousel===true){
var $itemWidth=parseInt($this.attr('data-itemWidth')),
$itemMargin=parseInt($this.attr('data-itemMargin')),
$minItems=parseInt($this.attr('data-minItems')),
$maxItems=parseInt($this.attr('data-maxItems')),
$move=parseInt($this.attr('data-move'));
}else{
var $itemWidth=$itemMargin=$minItems=$maxItems=$move=0;
}
MK.core.loadDependencies([ MK.core.path.plugins + 'jquery.flexslider.js' ], function(){
$this.flexslider({
selector: $selector_class,
animation: $animation,
easing: $easing,
direction: $direction,
smoothHeight: $smoothHeight,
slideshow: true,
slideshowSpeed: $slideshowSpeed,
animationSpeed: $animationSpeed,
controlNav: $controlNav,
directionNav: $directionNav,
pauseOnHover: $pauseOnHover,
prevText: "",
nextText: "",
directionNavArrowsLeft: $arrowLeft,
directionNavArrowsRight:$arrowRight,
itemWidth: $itemWidth,
itemMargin: $itemMargin,
minItems: $minItems,
maxItems: $maxItems,
move: $move
});
});
});
}
function mk_header_searchform(){
$('.mk-search-trigger').click(function(){
$('#mk-ajax-search-input').focus();
});
"use strict";
$('.mk-header-toolbar .mk-header-searchform .text-input').on('focus', function (){
if($('.mk-header-toolbar .mk-header-searchform .text-input').hasClass('on-close-state')){
$('.mk-header-toolbar .mk-header-searchform .text-input').removeClass('on-close-state').animate({
'width': '200px'
}, 200);
return false;
}});
$(".mk-header-toolbar .mk-header-searchform").click(function (event){
if(event.stopPropagation){
event.stopPropagation();
}else if(window.event){
window.event.cancelBubble=true;
}});
$("html").click(function (){
$(this).find(".mk-header-toolbar .mk-header-searchform .text-input").addClass('on-close-state').animate({
'width': 90
}, 300);
});
}
function mk_hover_events(){
"use strict";
$('.shopping-cart-header').hover(function(){
$(this).find('.mk-shopping-cart-box').stop(true, true).fadeIn(250);
},
function(){
$(this).find('.mk-shopping-cart-box').stop(true, true).fadeOut(250);
}
);
$('.widget-sub-navigation > ul > li, .widget_nav_menu ul.menu > li, .widget_product_categories ul > .cat-item').each(function(){
var $this=$(this),
$subLevel=$this.find('ul').first();
if($this.hasClass('page_item_has_children')||$this.hasClass('menu-item-has-children')||$this.hasClass('cat-parent')){
$this.hover(function(){
setTimeout(function(){
$subLevel.stop(true, true).slideDown(700);
}, 500);
},
function(){
setTimeout(function(){
$subLevel.stop(true, true).slideUp(700);
}, 500);
}
);
}});
var eventtype='click';
$('.mk-fullscreen-trigger').on(eventtype, function(e){
$('.mk-fullscreen-search-overlay').addClass('mk-fullscreen-search-overlay-show');
setTimeout(function(){
$("#mk-fullscreen-search-input").focus();
}, 300);
e.preventDefault();
});
$('.mk-fullscreen-close').on(eventtype, function(e){
$('.mk-fullscreen-search-overlay').removeClass('mk-fullscreen-search-overlay-show');
e.preventDefault();
});
}
function mk_unfold_footer(){
var $this=$('#mk-footer'),
$spacer=$('#mk-footer-unfold-spacer'),
$footerHeight=$this.outerHeight();
if(!window.matchMedia("(max-width: 767px)").matches){
if($this.hasClass('mk-footer-unfold')){
$spacer.css('height', $footerHeight);
}}else{
$spacer.css('height', 0);
}}
function mk_lightbox_init(){
$(".mk-lightbox").fancybox({
padding: 15,
margin: 15,
width: 800,
height: 600,
minWidth: 100,
minHeight: 100,
maxWidth: 9999,
maxHeight: 9999,
pixelRatio: 1,
autoSize: true,
autoHeight: false,
autoWidth: false,
autoResize: true,
fitToView: true,
aspectRatio: false,
topRatio: 0.5,
leftRatio: 0.5,
scrolling: 'auto', // 'auto', 'yes' or 'no'
wrapCSS: '',
arrows: true,
closeBtn: true,
closeClick: false,
nextClick: false,
mouseWheel: true,
autoPlay: false,
playSpeed: 3000,
preload: 3,
modal: false,
loop: true,
openEffect: 'fade', // 'elastic', 'fade' or 'none'
openSpeed: 200,
openEasing: 'swing',
openOpacity: true,
openMethod: 'zoomIn',
closeEffect: 'fade', // 'elastic', 'fade' or 'none'
closeSpeed: 200,
closeEasing: 'swing',
closeOpacity: true,
closeMethod: 'zoomOut',
nextEffect: 'none', // 'elastic', 'fade' or 'none'
nextSpeed: 350,
nextEasing: 'swing',
nextMethod: 'changeIn',
prevEffect: 'none', // 'elastic', 'fade' or 'none'
prevSpeed: 350,
prevEasing: 'swing',
prevMethod: 'changeOut',
helpers:{
media:{},
overlay: {
locked: true
}},
tpl: {
wrap: '',
image: '',
error: 'The requested content cannot be loaded.
Please try again later.
',
closeBtn: '',
next: '',
prev: '',
loading: ''
},
afterLoad: function(){
$('html').addClass('fancybox-lock');
$('.fancybox-wrap').appendTo('.fancybox-overlay');
}});
}
function mk_love_post(){
"use strict";
$('body').on('click', '.mk-love-this', function (){
var $this=$(this),
$id=$this.attr('id');
if($this.hasClass('item-loved')) return false;
if($this.hasClass('item-inactive')) return false;
var $sentdata={
action: 'mk_love_post',
post_id: $id
}
$.post(ajaxurl, $sentdata, function (data){
$this.find('.mk-love-count').html(data);
$this.addClass('item-loved');
});
$this.addClass('item-inactive');
return false;
});
}
function mk_milestone(){
"use strict";
if(!$.exists('.mk-milestone')) return;
$('.mk-milestone').each(function (){
var $this=$(this),
stop_number=$this.find('.milestone-number').attr('data-stop'),
animation_speed=parseInt($this.find('.milestone-number').attr('data-speed'));
var build=function(){
if(!$this.hasClass('scroll-animated')){
$this.addClass('scroll-animated');
$({
countNum: $this.find('.milestone-number').text()
}).animate({
countNum: stop_number
}, {
duration: animation_speed,
easing: 'linear',
step: function (){
$this.find('.milestone-number').text(Math.floor(this.countNum));
},
complete: function (){
$this.find('.milestone-number').text(this.countNum);
}});
}};
if(!MK.utils.isMobile()){
MK.utils.scrollSpy(this, {
position: 'bottom',
after: build
});
}else{
build();
}});
}
function mk_portfolio_widget(){
"use strict";
$('.widget_recent_portfolio li').each(function (){
$(this).find('.portfolio-widget-thumb').hover(function (){
$(this).siblings('.portfolio-widget-info').animate({
'opacity': 1
}, 200);
}, function (){
$(this).siblings('.portfolio-widget-info').animate({
'opacity': 0
}, 200);
});
});
}
function mk_skill_meter(){
"use strict";
if($.exists('.mk-skill-meter')){
if(!MK.utils.isMobile()){
$(".mk-skill-meter .progress-outer").each(function(){
var $this=$(this);
var build=function(){
if(!$this.hasClass('scroll-animated')){
$this.addClass('scroll-animated');
$this.animate({
width: $this.attr("data-width") + '%'
}, 2000);
}};
MK.utils.scrollSpy(this, {
position: 'bottom',
after: build
});
});
}else{
$(".mk-skill-meter .progress-outer").each(function(){
var $this=$(this);
if(!$this.hasClass('scroll-animated')){
$this.addClass('scroll-animated');
$this.css({
width: $(this).attr("data-width") + '%'
});
}});
}}
}
function mk_social_share(){
"use strict";
$('.twitter-share').on('click', function (){
var $url=$(this).attr('data-url'),
$title=$(this).attr('data-title');
window.open('http://twitter.com/intent/tweet?text=' + $title + ' ' + $url, "twitterWindow", "height=380,width=660,resizable=0,toolbar=0,menubar=0,status=0,location=0,scrollbars=0");
return false;
});
$('.pinterest-share').on('click', function (){
var $url=$(this).attr('data-url'),
$title=$(this).attr('data-title'),
$image=$(this).attr('data-image');
window.open('http://pinterest.com/pin/create/button/?url=' + $url + '&media=' + $image + '&description=' + $title, "twitterWindow", "height=320,width=660,resizable=0,toolbar=0,menubar=0,status=0,location=0,scrollbars=0");
return false;
});
$('.facebook-share').on('click', function (){
var $url=$(this).attr('data-url');
window.open('https://www.facebook.com/sharer/sharer.php?u=' + $url, "facebookWindow", "height=380,width=660,resizable=0,toolbar=0,menubar=0,status=0,location=0,scrollbars=0");
return false;
});
$('.googleplus-share').on('click', function (){
var $url=$(this).attr('data-url');
window.open('https://plus.google.com/share?url=' + $url, "googlePlusWindow", "height=380,width=660,resizable=0,toolbar=0,menubar=0,status=0,location=0,scrollbars=0");
return false;
});
$('.linkedin-share').on('click', function (){
var $url=$(this).attr('data-url'),
$title=$(this).attr('data-title'),
$desc=$(this).attr('data-desc');
window.open('http://www.linkedin.com/shareArticle?mini=true&url=' + $url + '&title=' + $title + '&summary=' + $desc, "linkedInWindow", "height=380,width=660,resizable=0,toolbar=0,menubar=0,status=0,location=0,scrollbars=0");
return false;
});
}
function product_loop_add_cart(){
"use strict";
var $body=$('body');
$body.on('click', '.add_to_cart_button', function (){
var product=$(this).parents('.product:eq(0)').addClass('adding-to-cart').removeClass('added-to-cart');
})
$body.bind('added_to_cart', function (){
$('.adding-to-cart').removeClass('adding-to-cart').addClass('added-to-cart');
});
}
(function($){
'use strict';
var $wrapper=$('.js-bottom-corner-btns');
var $contactBtn=$wrapper.find('.js-bottom-corner-btn--contact');
var $backBtn=$wrapper.find('.js-bottom-corner-btn--back');
var hasContactBtn=$contactBtn.length;
var hasBackBtn=$backBtn.length;
if(!hasBackBtn) return;
function deactivate(){
$contactBtn.removeClass('is-active');
$backBtn.removeClass('is-active');
}
function activate(){
$contactBtn.addClass('is-active');
$backBtn.addClass('is-active');
}
MK.utils.scrollSpy(400, {
before: deactivate,
after: activate
});
})(jQuery);
(function($){
'use strict';
$('.mk-fullscreen-nav-close, .mk-fullscreen-nav-wrapper, #fullscreen-navigation a').on('click', function(e){
$('.mk-fullscreen-nav').removeClass('opened');
$('.mk-dashboard-trigger').removeClass('fullscreen-active');
$('body').removeClass('fullscreen-nav-opened');
var anchor=MK.utils.detectAnchor(this),
$this=$(this);
if(anchor.length){
e.preventDefault();
MK.utils.scrollToAnchor(anchor);
}else if($this.attr('href')==='#'){
e.preventDefault();
}});
}(jQuery));
(function($){
'use strict';
var $navList=$(".main-navigation-ul");
var megaMenu=function megaMenu(){
$navList.MegaMenu({
type: "vertical",
delay: 200
});
};
$(window).on('load', megaMenu);
}(jQuery));
(function($){
'use strict';
var onePageNavItem=function onePageNavItem(){
var $this=$(this),
link=$this.find('a'),
anchor=MK.utils.detectAnchor(link);
if(!anchor.length) return;
$this.removeClass('current-menu-item current-menu-ancestor current-menu-parent');
var activeNav=function(state){
return function(){
$this[ state ? 'addClass':'removeClass' ]('current-menu-item');
window.history.replaceState(undefined, undefined, [ state ? anchor:' ' ]);
};};
MK.utils.scrollSpy($(anchor)[0], {
before:activeNav(false),
active:activeNav(true),
after:activeNav(false),
});
};
var $navItems=$('.js-main-nav').find('li');
$(window).on('load', function(){
setTimeout(function(){
$navItems.each(onePageNavItem);
}, 1000);
});
}(jQuery));
(function($){
'use strict';
var $window=$(window);
var $body=$('body');
var $resMenuWrap=$('.mk-responsive-wrap');
var $post_nav=$('.mk-post-nav');
var $toolbar=$('.mk-header-toolbar');
var $resMenuLink=$('.mk-nav-responsive-link');
var hasResMenu=($resMenuWrap.length > 0);
$('.mk-toolbar-resposnive-icon').on('click',function(e){
e.preventDefault();
console.log('clicked');
if($body.hasClass('toolbar-opened')){
$body.removeClass('toolbar-opened').addClass('toolbar-closed');
$toolbar.hide();
}else{
$body.removeClass('toolbar-closed').addClass('toolbar-opened');
$toolbar.show();
}});
if(!hasResMenu) return;
function toggleResMenu(e){
e.preventDefault();
var $this=$(this);
var $headerInner=$this.parents('header');
var $resMenu=$headerInner.find('.mk-responsive-wrap');
if($body.hasClass('mk-opened-nav')){
$this.removeClass('is-active');
$body.removeClass('mk-opened-nav').addClass('mk-closed-nav').trigger('mk-closed-nav');
$resMenu.hide();
$post_nav.removeClass('post-nav-backward');
}else{
$this.addClass('is-active');
$body.removeClass('mk-closed-nav').addClass('mk-opened-nav').trigger('mk-opened-nav');
$resMenu.show();
$post_nav.addClass('post-nav-backward');
var offset=$headerInner.offset().top;
var headerHeight=MK.val.offsetHeaderHeight(offset);
MK.utils.scrollTo(offset - headerHeight + 5);
}}
$resMenuLink.each(function(){
$(this).on('click', toggleResMenu);
});
var setResMenuHeight=function(){
var height=$window.height() - MK.val.offsetHeaderHeight(0);
$resMenuWrap.css('max-height', height);
};
setResMenuHeight();
$window.on('resize', setResMenuHeight);
var hideResMenu=function hideResMenu(){
if(MK.utils.isResponsiveMenuState()){
if($body.hasClass('mk-opened-nav')){
$resMenuLink.filter('.is-active').trigger('click');
}
$resMenuWrap.hide();
}};
$window.on('resize', hideResMenu);
$resMenuWrap.on('click', 'a', hideResMenu);
}(jQuery));
(function($){
'use strict';
var $header=$('.mk-header');
var hasHeader=($header.length > 0);
if(!hasHeader) return;
var $sticky_style=$header.attr('data-header-style');
$('.sidedash-navigation-ul > li').each(function(){
var $this=$(this);
$this.children('ul').siblings('a').after('');
});
$('.mk-nav-arrow').stop(true).on('click', function(e){
e.preventDefault();
var $this=$(this);
if($this.hasClass('mk-nav-sub-closed')){
$this.siblings('ul').slideDown(450).end().removeClass('mk-nav-sub-closed').addClass('mk-nav-sub-opened');
}else{
$this.siblings('ul').slideUp(450).end().removeClass('mk-nav-sub-opened').addClass('mk-nav-sub-closed');
}});
$('.mk-dashboard-trigger').on('click', function(e){
var $this=$(this),
$body=$('body'),
$fullscreen_box=$('.mk-fullscreen-nav');
if($this.hasClass('dashboard-style')){
if(!$this.hasClass('dashboard-active')){
$this.addClass('dashboard-active');
$body.addClass('dashboard-opened');
}else{
$this.removeClass('dashboard-active');
$body.removeClass('dashboard-opened');
}}else if($this.hasClass('fullscreen-style')){
if(!$this.hasClass('fullscreen-active')){
$this.addClass('fullscreen-active');
$body.addClass('fullscreen-nav-opened');
$fullscreen_box.addClass('opened');
}else{
$this.removeClass('fullscreen-active');
$body.removeClass('fullscreen-nav-opened');
$fullscreen_box.removeClass('opened');
}}
e.preventDefault();
});
$('html').on('click', function(){
$('body').removeClass('dashboard-opened');
$('.mk-dashboard-trigger').removeClass('dashboard-active');
});
}(jQuery));
(function($){
'use strict';
var $verticalMenu=$('#mk-vm-menu');
var verticalMenu=function verticalMenu(){
if(!$verticalMenu.data('vertical-menu')&&!MK.utils.isResponsiveMenuState()){
$verticalMenu.dlmenu();
$verticalMenu.data('vertical-menu', true);
}};
verticalMenu();
$(window).on('resize', verticalMenu);
}(jQuery));
(function($){
'use strict';
var $lang_item=$('.mk-main-navigation > .main-navigation-ul > .menu-item-language');
$lang_item.addClass('no-mega-menu').css('visibility', 'visible');
$('.mk-main-navigation .menu-item-language > a').addClass('menu-item-link');
})(jQuery);
(function($){
'use strict';
var $header=$('.mk-header').first();
var hasHeader=($header.length > 0);
if(!hasHeader) return;
var $window=$(window);
var $document=$(document);
var $headerHolder=$header.find('.mk-header-holder');
var $paddingWrapper=$header.find('.mk-header-padding-wrapper');
var config=$header.data();
var isStickyLazy=(config.stickyStyle==='lazy');
var isStickyFixed=(config.stickyStyle==='fixed');
var isStickySlide=(config.stickyStyle==='slide');
function isSticky(){
return true;
}
function isColorable(){
return config.headerStyle!==4;
}
function changeSkin(e, skin){
$header.attr('data-transparent-skin', skin);
var contrast=skin==='light' ? 'dark':'light';
$header.addClass(skin + '-skin');
$header.removeClass(contrast + '-skin');
}
if(isColorable()) MK.utils.eventManager.subscribe('firstElSkinChange', changeSkin);
if(isSticky()&&isStickyLazy){
if(config.headerStyle!==2){
lazySticky();
}}
else if(isSticky()&&isStickyFixed) fixedSticky();
else if(isSticky()&&isStickySlide) slideSticky();
function lazySticky(){
var elClassHidden='header--hidden';
var elClassSticky='a-sticky';
var wScrollCurrent=0;
var wScrollBefore=0;
var wScrollDiff=0;
var wHeight=0;
var dHeight=0;
var setSizes=function setSizes(){
dHeight=$document.height();
wHeight=$window.height();
};
var onScroll=function onScroll(){
wScrollCurrent=MK.val.scroll();
wScrollDiff=wScrollBefore - wScrollCurrent;
if(wScrollCurrent <=0){
$headerHolder.removeClass(elClassHidden);
$header.removeClass(elClassSticky);
}else if(wScrollDiff > 0&&$headerHolder.hasClass(elClassHidden)){
$headerHolder.removeClass(elClassHidden);
$header.addClass(elClassSticky);
}else if(wScrollDiff < 0){
if(wScrollCurrent + wHeight >=dHeight&&$headerHolder.hasClass(elClassHidden)){
$headerHolder.removeClass(elClassHidden);
$header.addClass(elClassSticky);
}else{
$headerHolder.addClass(elClassHidden);
$header.removeClass(elClassSticky);
}}
wScrollBefore=wScrollCurrent;
};
setSizes();
onScroll();
$window.on('resize', MK.utils.throttle(100, setSizes));
$window.on('scroll', MK.utils.throttle(500, onScroll));
}
function fixedSticky(){
var sticked=false;
var scrollPos;
var toggleState=function toggleState(){
scrollPos=MK.val.scroll() + MK.val.adminbarHeight();
if((scrollPos > MK.val.stickyOffset())&&! MK.utils.isResponsiveMenuState()){
if(sticked) return;
$header.addClass('a-sticky');
sticked=true;
}else{
if(!sticked) return;
$header.removeClass('a-sticky');
sticked=false;
}};
toggleState();
$window.on('scroll', toggleState);
$window.on('resize', toggleState);
}
function slideSticky(){
var sticked=false;
var onScroll=function onScroll(){
if(MK.val.scroll() > MK.val.stickyOffset()){
if(sticked) return;
$header.addClass('pre-sticky');
$paddingWrapper.addClass('enable-padding');
setTimeout(function(){
$header.addClass('a-sticky');
}, 1);
sticked=true;
}else{
if(!sticked) return;
$header.removeClass('a-sticky');
$header.removeClass('pre-sticky');
$paddingWrapper.removeClass('enable-padding');
sticked=false;
}};
onScroll();
$window.on('scroll', onScroll);
}})(jQuery);
(function($){
'use strict';
MK.ui.preloader={
dom:{
overlay: '.mk-body-loader-overlay'
},
hide:function hide(){
$(this.dom.overlay).fadeOut(600, "easeInOutExpo", function(){
$('body').removeClass('loading');
});
}};})(jQuery);
(function($){
'use strict';
var _ajaxUrl=MK.core.path.ajaxUrl;
var _instances={};
MK.utils.ajaxLoader=function ajaxLoader(el){
var id='#' + ($(el).attr('id'));
if(typeof _instances[id]!=='undefined') return _instances[id];
this.id=id;
this.el=el;
this.isLoading=false;
this.xhrCounter=0;
};
MK.utils.ajaxLoader.prototype={
init: function init(){
if(this.initialized) return;
this.createInstance();
this.cacheElements();
this.initialized=true;
},
cacheElements: function cacheElements(){
this.$container=$(this.el);
this.id='#' + (this.$container.attr('id'));
this.categories=this.$container.data('loop-categories');
this.data={};
this.data.action='mk_load_more';
this.data.query=this.$container.data('query');
this.data.atts=this.$container.data('loop-atts');
this.data.loop_iterator=this.$container.data('loop-iterator');
this.data.author=this.$container.data('loop-author');
this.data.posts=this.$container.data('loop-posts');
this.data.safe_load_more=this.$container.siblings('#safe_load_more').val();
this.data._wp_http_referer=this.$container.siblings('input[name="_wp_http_referer"]').val();
this.data.paged=1;
this.data.maxPages=this.$container.data('max-pages');
this.data.term=this.categories;
},
createInstance: function(){
_instances[this.id]=this;
},
load: function load(unique){
var self=this;
var seq=++this.xhrCounter;
this.isLoading=true;
return $.when($.ajax({
url:_ajaxUrl,
type:"POST",
data:self.data
})
).done(function(response){
self.onDone(response, unique, seq);
});
},
onDone: function(response, unique, seq){
if(seq===this.xhrCounter){
var self=this;
response=$.parseJSON(response);
response.unique=unique;
response.id=this.id;
this.setData({
maxPages: response.maxPages,
loop_iterator: response.i
});
$(response.content).imagesLoaded().then(function(){
MK.utils.eventManager.publish('ajaxLoaded', response);
self.isLoading=false;
self.initNewComponents();
});
} else console.log('XHR request nr '+ seq +' aborted');
},
setData: function setData(atts){
for(var att in atts){
if(att==='term'&&atts[att]==='*') this.data.term='';
else this.data[att]=atts[att];
}},
getData: function getData(att){
return this.data[att];
},
initNewComponents: function initNewComponents(){
window.ajaxInit();
setTimeout(window.ajaxDelayedInit, 1000);
MK.core.initAll(this.el);
}};}(jQuery));
(function($){
'use strict';
var val=MK.val;
MK.component.FullHeight=function(el){
var $window=$(window),
$this=$(el),
container=document.getElementById('mk-theme-container'),
winH=null,
height=null,
update_count=0,
testing=MK.utils.getUrlParameter('testing'),
offset=null;
if(MK.utils.browser.name===('IE'||'Edge')) $this.css('height', '1px');
var update=function(){
if(update_count===0){
winH=$window.height();
offset=$this.offset().top;
height=winH - val.offsetHeaderHeight(offset);
$this.css('min-height', height);
if(testing!==undefined)
update_count++;
}};
var init=function(){
update();
$window.on('resize', update);
$window.on('scroll', update);
window.addResizeListener(container, update);
};
return {
init:init
};};
})(jQuery);
(function($){
'use strict';
var core=MK.core,
utils=MK.utils,
path=MK.core.path;
MK.ui.FullScreenGallery=function(element, settings){
this.element=element;
this.config=settings;
this.isFullScreen=false;
};
MK.ui.FullScreenGallery.prototype={
dom:{
fullScrBtn:'.slick-full-screen',
exitFullScrBtn:'.slick-minimize',
playBtn:'.slick-play',
pauseBtn:'.slick-pause',
shareBtn:'.slick-share',
socialShare:'.slick-social-share',
wrapper:'.slick-slider-wrapper',
slider:'.slick-slides',
slides:'.slick-slide',
dots:'.slick-dot',
active:'.slick-active',
hiddenClass:'is-hidden',
dataId:'slick-index'
},
tpl: {
dot:'',
next:' ',
prev:' '
},
init:function(){
var self=this;
self.cacheElements();
self.getViewportSizes();
self.updateSizes('window');
self.create();
self.updateCacheElements();
self.createPagination();
self.bindEvents();
},
create:function(){
var self=this;
this.slick=this.$gallery.slick({
dots: true,
arrows: true,
infinite: true,
speed: 300,
slidesToShow: 1,
centerMode: true,
centerPadding: '0px',
variableWidth: true,
autoplay: false,
autoplaySpeed: 3000,
useTransform: true,
prevArrow: self.tpl.prev,
nextArrow: self.tpl.next,
customPaging: function(slider, i){
return self.tpl.dot;
},
});
},
cacheElements:function(){
this.$window=$(window);
this.$gallery=$(this.element);
this.$fullScrBtn=$(this.dom.fullScrBtn);
this.$exitFullScrBtn=$(this.dom.exitFullScrBtn);
this.$playBtn=$(this.dom.playBtn);
this.$pauseBtn=$(this.dom.pauseBtn);
this.$shareBtn=$(this.dom.shareBtn);
this.$socialShare=$(this.dom.socialShare);
this.$wrapper=$(this.dom.wrapper);
this.$slider=$(this.dom.slider);
this.$slides=$(this.dom.slides);
this.$imgs=this.$slides.find('img');
this.$originalImgs=this.$imgs;
},
updateCacheElements:function(){
this.$slides=$(this.dom.slides);
this.$imgs=this.$slides.find('img');
this.$dots=$(this.dom.dots);
},
bindEvents:function(){
var self=this;
this.$fullScrBtn.on('click', this.toFullScreen.bind(this));
this.$exitFullScrBtn.on('click', this.exitFullScreen.bind(this));
this.$playBtn.on('click', this.play.bind(this));
this.$pauseBtn.on('click', this.pause.bind(this));
this.$shareBtn.on('click', this.toggleShare.bind(this));
this.$socialShare.on('click', 'a', this.socialShare.bind(this));
this.$window.on('resize', this.onResize.bind(this));
this.$window.on('keydown', function(e){
if(e.keyCode===39) self.$gallery.slick('slickNext');
if(e.keyCode===37) self.$gallery.slick('slickPrev');
});
$(document).on('fullscreenchange mozfullscreenchange webkitfullscreenchange msfullcreenchange', this.exitFullScreen.bind(this));
},
getViewportSizes:function(){
this.screen={
w: screen.width,
h: screen.height
};
this.window={
w: this.$window.width(),
h: this.$window.height()
};},
updateSizes:function(viewport){
this.$wrapper.width(this[ viewport ].w);
this.$wrapper.height(this[ viewport ].h);
this.$imgs.height(this[ viewport ].h - 110);
},
createPagination:function(){
var self=this;
this.$dots.each(function(i){
var img=self.$originalImgs.eq(i).attr('src');
$(this).css({
'background-image': 'url('+ img +')'
});
});
},
play:function(){
this.$playBtn.addClass(this.dom.hiddenClass);
this.$pauseBtn.removeClass(this.dom.hiddenClass);
$(this.element).slick('slickPlay');
},
pause:function(){
this.$pauseBtn.addClass(this.dom.hiddenClass);
this.$playBtn.removeClass(this.dom.hiddenClass);
$(this.element).slick('slickPause');
},
toggleShare:function(){
this.$socialShare.toggleClass(this.dom.hiddenClass);
},
getCurentId:function(){
return this.$slides.filter(this.dom.active).data(this.dom.dataId);
},
toFullScreen:function(){
var self=this;
this.$fullScrBtn.addClass(this.dom.hiddenClass);
this.$exitFullScrBtn.removeClass(this.dom.hiddenClass);
this.$slider.hide().fadeIn(500);
utils.launchIntoFullscreen(document.documentElement);
this.updateSizes('screen');
$(this.element).slick('slickGoTo', this.getCurentId(), true);
setTimeout(function(){
self.isFullScreen=true;
}, 1000);
},
exitFullScreen:function(){
if(this.isFullScreen){
this.$exitFullScrBtn.addClass(this.dom.hiddenClass);
this.$fullScrBtn.removeClass(this.dom.hiddenClass);
utils.exitFullscreen();
this.updateSizes('window');
$(this.element).slick('slickGoTo', this.getCurentId(), true);
this.isFullScreen=false;
}},
onResize:function(){
this.getViewportSizes();
this.updateSizes(this.isFullScreen ? 'screen':'window');
$(this.element).slick('slickGoTo', this.getCurentId(), true);
},
socialShare:function(e){
e.preventDefault();
var $this=$(e.currentTarget),
network=$this.data('network'),
id=this.config.id,
url=this.config.url,
name;
switch(network){
case 'facebook':
url='https://www.facebook.com/sharer/sharer.php?u=' + url + '#id=' + id;
name='Facebook Share';
break;
case 'twitter':
url='http://twitter.com/intent/tweet?text=' + url + '#id=' + id;
name='Twitter Share';
break;
case 'pinterest':
url='http://pinterest.com/pin/create/button/?url=' + url + '#id=' + id;
name='Pinterest Share';
break;
}
window.open(url, name, "height=380 ,width=660, resizable=0, toolbar=0, menubar=0, status=0, location=0, scrollbars=0");
}};})(jQuery);
(function($){
'use strict';
MK.component.Grid=function(el){
var $container=$(el);
var config=$container.data('grid-config');
var isSlideshow=$container.closest('[data-mk-component="SwipeSlideshow"]').length;
var init=function init(){
if(isSlideshow) return;
MK.core.loadDependencies([ MK.core.path.plugins + 'minigrid.js' ], create);
};
var removeOddlyHidden=function removeOddlyHidden(){
var $item=$(this);
var isHidden=($item.css('display')==='none');
if(isHidden){
console.log('removed by grid component: ', this);
$item.remove();
}};
var create=function create(){
function grid(item){
var selector=(typeof item==='string') ? item:config.item;
var $items=$container.find(selector);
$items.each(removeOddlyHidden);
minigrid({
container: el,
item: selector,
gutter: 0
});
}
grid();
$(window).off('resize', grid);
$(window).on('resize', grid);
MK.utils.eventManager.subscribe('item-expanded', grid);
MK.utils.eventManager.subscribe('ajaxLoaded', grid);
};
return {
init:init
};};
})(jQuery);
(function($, window){
'use strict';
var scrollY=MK.val.scroll;
var dynamicHeight=MK.val.dynamicHeight;
var $window=$(window);
var $containers=$('.js-loop');
$containers.each(pagination);
function pagination(){
var unique=Date.now();
var $container=$(this);
var $superContainer=$container.parent();
var $loadBtn=$container.siblings('.js-loadmore-button');
var $loadScroll=$('.js-load-more-scroll');
var style=$container.data('pagination-style');
var maxPages=$container.data('max-pages');
var id='#' + ($container.attr('id'));
var ajaxLoader=new MK.utils.ajaxLoader(id);
var isLoadBtn=(style===2);
var isInfiniteScroll=(style===3);
var scrollCheckPoint=null;
var isHandlerBinded=false;
ajaxLoader.init();
init();
function init(){
MK.utils.eventManager.subscribe('ajaxLoaded', onLoad);
bindHandlers();
if(isInfiniteScroll) scrollCheckPoint=spyScrollCheckPoint();
}
function bindHandlers(){
if(isLoadBtn) $loadBtn.on('click', handleClick);
if(isInfiniteScroll) $window.on('scroll', handleScroll);
isHandlerBinded=true;
}
function unbindHandlers(){
if(isLoadBtn) $loadBtn.off('click', handleClick);
if(isInfiniteScroll) $window.off('scroll', handleScroll);
isHandlerBinded=false;
}
function handleClick(e){
e.preventDefault();
if(!ajaxLoader.isLoading) loadMore();
}
function handleScroll(){
if((scrollY() > scrollCheckPoint())&&!ajaxLoader.isLoading) loadMore();
}
function loadMore(){
loadingIndicatorStart();
var page=ajaxLoader.getData('paged');
ajaxLoader.setData({paged: ++page});
ajaxLoader.load(unique);
}
function onLoad(e, response){
if(response.id===id){
if(ajaxLoader.getData('paged') >=ajaxLoader.getData('maxPages')) loadingIndicatorHide();
else loadingIndicatorShow();
if(response.unique===unique) $container.append(response.content);
loadingIndicatorStop();
}}
function loadingIndicatorStart(){
if(isLoadBtn) $loadBtn.addClass('is-active');
else if(isInfiniteScroll) MK.ui.loader.add('.js-load-more-scroll');
}
function loadingIndicatorStop(){
if(isLoadBtn) $loadBtn.removeClass('is-active');
else if(isInfiniteScroll) MK.ui.loader.remove('.js-load-more-scroll');
}
function loadingIndicatorShow(){
if(isHandlerBinded) return;
if(isLoadBtn) $loadBtn.show();
else if(isInfiniteScroll) $loadScroll.show();
bindHandlers();
}
function loadingIndicatorHide(){
if(!isHandlerBinded) return;
if(isLoadBtn) $loadBtn.hide();
else if(isInfiniteScroll) $loadScroll.hide();
unbindHandlers();
}
function spyScrollCheckPoint(){
var containerO=0;
var containerH=dynamicHeight($superContainer);
var winH=dynamicHeight(window);
var setVals=function(){
containerO=$superContainer.offset().top;
};
setVals();
$window.on('resize', function(){ requestAnimationFrame(setVals); });
return function(){
return (containerH() + containerO) - (winH() * 2);
};}}
})(jQuery, window);
(function($){
'use strict';
function isHidden(el){
return (el.offsetParent===null);
}
MK.component.Masonry=function(el){
var $window=$(window);
var $container=$(el);
var config=$container.data('masonry-config');
var $masonryItems=$container.find(config.item);
var cols=config.cols||8;
var $filterItems=null;
var wall=null;
var init=function init(){
MK.core.loadDependencies([ MK.core.path.plugins + 'freewall.js' ], onDepLoad);
};
var onDepLoad=function onDepLoad(){
masonry();
$window.on('resize', onResize);
MK.utils.eventManager.subscribe('ajaxLoaded', onPostAddition);
};
var masonry=function masonry(){
if(isHidden(el)) return;
var newCols;
if(window.matchMedia('(max-width:600px)').matches) newCols=2;
else if(window.matchMedia('(max-width:850px)').matches) newCols=4;
else newCols=cols;
var colW=$container.width() / newCols;
wall=new Freewall(config.container);
wall.reset({
selector: config.item + ':not(.is-hidden)',
gutterX: 0,
gutterY: 0,
cellW: colW,
cellH: colW
});
wall.fillHoles();
wall.fitWidth();
$masonryItems.each(function(){
$(this).data('loaded', true);
});
};
var destroyContainer=function destroyContainer(){
$container.removeAttr('style')
.removeData('wall-height')
.removeData('wall-width')
.removeData('min-width')
.removeData('total-col')
.removeData('total-row')
.removeAttr('data-wall-height')
.removeAttr('data-wall-width')
.removeAttr('data-min-width')
.removeAttr('data-total-col')
.removeAttr('data-total-row');
};
var destroyItem=function destroyItem(){
var $item=$(this);
$item.removeAttr('style')
.removeData('delay')
.removeData('height')
.removeData('width')
.removeData('state')
.removeAttr('data-delay')
.removeAttr('data-height')
.removeAttr('data-width')
.removeAttr('data-state');
};
var destroyAll=function destroyAll(){
if(!wall) return;
wall.destroy();
destroyContainer();
$masonryItems.each(destroyItem);
};
var onResize=function onResize(){
requestAnimationFrame(resize);
};
var refresh=function refresh(){
if(!wall) return;
setTimeout(wall.fitWidth.bind(wall), 5);
};
var resize=function resize(){
destroyAll();
masonry();
};
var onPostAddition=function onPostAddition(){
$masonryItems=$container.find(config.item);
$masonryItems.each(function(){
var $item=$(this),
isLoaded=$item.data('loaded');
if(!isLoaded) $item.css('visibility', 'hidden');
});
$container.imagesLoaded().then(function(){
destroyAll();
masonry();
});
};
return {
init:init
};};
}(jQuery));
(function($){
'use strict';
MK.component.Pagination=function(el){
this.el=el;
};
MK.component.Pagination.prototype={
init: function init(){
this.cacheElements();
this.bindEvents();
},
cacheElements: function cacheElements(){
this.lastId=1;
this.unique=Date.now();
this.$pagination=$(this.el);
this.$container=this.$pagination.prev('.js-loop');
this.$pageLinks=this.$pagination.find('.js-pagination-page');
this.$nextLink=this.$pagination.find('.js-pagination-next');
this.$prevLink=this.$pagination.find('.js-pagination-prev');
this.$current=this.$pagination.find('.js-current-page');
this.$maxPages=this.$pagination.find('.pagination-max-pages');
this.containerId='#' + this.$container.attr('id');
this.ajaxLoader=new MK.utils.ajaxLoader('#' + this.$container.attr('id'));
this.ajaxLoader.init();
},
bindEvents: function bindEvents(){
this.$pageLinks.on('click', this.pageClick.bind(this));
this.$nextLink.on('click', this.nextClick.bind(this));
this.$prevLink.on('click', this.prevClick.bind(this));
MK.utils.eventManager.subscribe('ajaxLoaded', this.onLoad.bind(this));
},
pageClick: function pageClick(e){
e.preventDefault();
var $this=$(e.currentTarget);
var id=parseFloat($this.attr('data-page-id'));
if(id > this.ajaxLoader.getData('maxPages')||id < 1) return;
this.load(id, $this);
},
nextClick: function nextClick(e){
e.preventDefault();
if(this.ajaxLoader.getData('paged')===this.ajaxLoader.getData('maxPages')) return;
this.load(++this.lastId, $(e.currentTarget));
},
prevClick: function prevClick(e){
e.preventDefault();
if(this.ajaxLoader.getData('paged')===1) return;
this.load(--this.lastId, $(e.currentTarget));
},
load: function load(id, $el){
this.lastId=id;
this.ajaxLoader.setData({paged: id});
this.ajaxLoader.load(this.unique);
this.removeIndicator();
MK.ui.loader.add($el);
},
onLoad: function success(e, response){
if(response.id===this.containerId){
this.updatePagination();
this.lastId=this.ajaxLoader.getData('paged');
if(response.unique===this.unique){
this.removeIndicator();
this.scrollPage();
this.$container.html(response.content);
}}
},
updatePagination: function updatePagination(){
var self=this;
var isFirst=(this.ajaxLoader.getData('paged')===1);
var isLast=(this.ajaxLoader.getData('paged')===this.ajaxLoader.getData('maxPages'));
if(isFirst) this.$prevLink.addClass('is-vis-hidden');
else this.$prevLink.removeClass('is-vis-hidden');
if(isLast) this.$nextLink.addClass('is-vis-hidden');
else this.$nextLink.removeClass('is-vis-hidden');
this.$current.html(this.ajaxLoader.getData('paged'));
this.$maxPages.html(this.ajaxLoader.getData('maxPages'));
var displayItems=10;
var centerAt=displayItems / 2;
if(this.ajaxLoader.getData('maxPages') > displayItems){
this.$pageLinks.each(function(i){
var id=self.lastId - centerAt;
id=Math.max(id, 1);
id=Math.min(id, self.ajaxLoader.getData('maxPages') - displayItems + 1);
id=id + i;
$(this).html(id).attr('data-page-id', id).show();
if(i===0&&id > 1) $(this).html('...');
if(i===displayItems - 1&&id < self.ajaxLoader.getData('maxPages')) $(this).html('...');
});
}else{
this.$pageLinks.each(function(i){
var $link=$(this);
var id=i + 1;
$link.html(id).attr('data-page-id', id);
if(self.ajaxLoader.getData('maxPages')===1){
self.$pageLinks.hide();
}else{
if(i > self.ajaxLoader.getData('maxPages') - 1) $link.hide();
else $link.show();
}});
}
this.$pageLinks.filter('[data-page-id="' + this.ajaxLoader.getData('paged') + '"]').addClass('current-page')
.siblings().removeClass('current-page');
},
scrollPage: function scrollPage(){
var containerOffset=this.$container.offset().top;
var offset=containerOffset - MK.val.offsetHeaderHeight(containerOffset) - 20;
MK.utils.scrollTo(offset);
},
removeIndicator: function removeIndicator(){
MK.ui.loader.remove('.js-pagination-page, .js-pagination-next, .js-pagination-prev');
}};}(jQuery));
(function($){
'use strict';
var val=MK.val,
utils=MK.utils;
MK.component.Parallax=function(el){
var self=this,
$this=$(el),
obj=$this[0],
$window=$(window),
container=document.getElementById('mk-theme-container'),
config=$this.data('parallax-config'),
$holder=$(config.holder),
headerHeight=null,
offset=null,
elHeight=null,
ticking=false,
isMobile=null;
var clientRect=null;
var update=function(){
obj.style.transform=null;
obj.style.top=null;
obj.style.bottom=null;
isMobile=MK.utils.isMobile();
if(isMobile){
$this.css('height', '');
return;
}
clientRect=$this[ 0 ].getBoundingClientRect();
offset=clientRect.top;
elHeight=clientRect.height;
headerHeight=val.offsetHeaderHeight(offset);
offset=offset - headerHeight + val.scroll();
setPosition();
setSize();
};
var h=0,
winH=0,
proportion=0,
height=0;
var setSize=function(){
$this.css('height', '');
winH=$window.height() - headerHeight;
h=obj.getBoundingClientRect().height;
if(config.speed <=1&&config.speed > 0){
if(offset===0){
$this.css({
backgroundAttachment: 'scroll',
'will-change': 'transform'
});
}else{
$this.css({
height:h +((winH - h) * config.speed),
backgroundAttachment: 'scroll',
'will-change': 'transform'
});
}}else if(config.speed > 1&&h <=winH){
$this.css({
height:(winH +(( winH * config.speed) - winH) * 2),
top: -(( winH * config.speed) - winH),
backgroundAttachment: 'scroll',
'will-change': 'transform'
});
}else if(config.speed > 1&&h > winH){
proportion=h / winH;
height=(winH +(( winH * config.speed) - winH) * (1 + proportion));
$this.css({
height: height,
top: -(height - (winH * config.speed)),
backgroundAttachment: 'scroll',
'will-change': 'transform'
});
}else if(config.speed < 0&&h >=winH){
height=h * (1 - config.speed);
$this.css({
height: height + (height - h),
top: h - height,
backgroundAttachment: 'scroll',
'will-change': 'transform'
});
}else if(config.speed < 0&&h < winH){
var display=(winH + h) / winH;
height=h * -config.speed * display;
$this.css({
height: h + (height * 2),
top: -height,
backgroundAttachment: 'scroll',
'will-change': 'transform'
});
}};
var currentPoint=null,
progressVal=null,
startPoint=null,
endPoint=null,
$opacityLayer=config.opacity ? $this.find(config.opacity):null,
scrollY=null;
var setPosition=function(){
startPoint=offset - winH;
endPoint=offset + elHeight + winH - headerHeight;
scrollY=val.scroll();
if(scrollY < startPoint||scrollY > endPoint){
ticking=false;
return;
}
currentPoint=((-offset + scrollY) * config.speed);
$this.css({
'-webkit-transform': 'translateY(' + currentPoint + 'px) translateZ(0)',
'-moz-transform': 'translateY(' + currentPoint + 'px) translateZ(0)',
'-ms-transform': 'translateY(' + currentPoint + 'px) translateZ(0)',
'-o-transform': 'translateY(' + currentPoint + 'px) translateZ(0)',
'transform': 'translateY(' + currentPoint + 'px) translateZ(0)'
});
ticking=false;
};
var requestTick=function(){
if(!ticking&&!isMobile){
window.requestAnimationFrame(setPosition);
ticking=true;
}};
var init=function(){
if(!MK.utils.isSmoothScroll){ return; }
update();
setTimeout(update, 100);
$window.on('load', update);
$window.on('resize', update);
window.addResizeListener(container, update);
$window.on('scroll', requestTick);
};
return {
init:init
};};
})(jQuery);
(function($){
'use strict';
MK.component.Preloader=function(el){
this.el=el;
};
MK.component.Preloader.prototype={
init: function init(){
this.cacheElements();
this.bindEvents();
},
cacheElements: function cacheElements(){
this.$preloader=$(this.el);
},
bindEvents: function bindEvents(){
this.onLoad();
},
onLoad: function onLoad(){
setTimeout(this.hidePreloader.bind(this), 300);
},
hidePreloader: function hidePreloader(){
this.$preloader.hide();
}};}(jQuery));
(function($){
'use strict';
MK.ui.loader={
tpl:function(){
return '' +
'
' +
'
' +
'
' +
'
' +
'
';
},
add:function(item){
$(item).append(this.tpl);
},
remove:function(item){
$(item).find('.mk-loading-indicator').remove();
}};}(jQuery));
(function($){
if(navigator.userAgent.match(/MSIE 10/i) ||
navigator.userAgent.match(/Trident\/7\./) ||
navigator.userAgent.match(/Edge\/12\./)){
var val=1;
var $edgeClipper=$('.mk-slider-slide');
var $sectionClipper=$('.clipper-true');
var $bgLayer=$('.background-layer');
var onScroll=function onScroll(){
val *=-1;
if($edgeClipper.length) $edgeClipper.each(redraw);
if($sectionClipper.length) $sectionClipper.each(redraw);
if($bgLayer.length) $bgLayer.each(redraw);
};
var redraw=function redraw(){
$(this).css('margin-top', val / 100);
};
$(window).on("scroll", function (){
window.requestAnimationFrame(onScroll);
});
}}(jQuery));
(function($){
'use strict';
var utils=MK.utils;
var val=MK.val;
var $topLevelSections=$('#theme-page > .vc_row, #theme-page > .mk-main-wrapper-holder, #theme-page > .mk-page-section');
$(document).on('click', '.mk-skip-to-next', function(){
var $this=$(this),
offset=$this.offset().top ,
nextOffset=utils.nextHigherVal(offset, utils.offsets($topLevelSections));
utils.scrollTo(nextOffset - val.offsetHeaderHeight(nextOffset));
});
})(jQuery);
(function($){
'use strict';
MK.ui.Slider=function(container, config){
var defaults={
slide:'.mk-slider-slide',
nav:'.mk-slider-nav',
effect:'roulete',
ease:'easeOutQuart',
slidesPerView:1,
slidesToView:1,
transitionTime:700,
displayTime:3000,
autoplay:true,
hasNav:true,
hasPagination:true,
paginationTpl:'',
paginationEl:'#pagination',
draggable:true,
fluidHeight:false,
pauseOnHover:false,
activeClass:'is-active',
onInitialize:function(){},
onAfterSlide:function(id){},
onBeforeSlide:function(id){}};
this.state={
id:0,
moveForward:true,
running:false,
zIFlow:null,
stop:false,
};
this.config=$.extend(defaults, config);
this.container=container;
this.initPerView=this.config.slidesPerView;
this.activeTimer=null;
this.autoplay=null;
this.timer=null;
this.timerRemaining=parseInt(this.config.displayTime);
};
MK.ui.Slider.prototype={
init:function(){
this.setPerViewItems();
this.cacheElements();
this.getSlideSize();
this.bindEvents();
this.setSize();
this.setPos();
this.updateId(-1);
this.updateId(1);
this.val=this.dynamicVal();
this.timeline=this.prepareTimeline(this.config.transitionTime);
this.timeline.build();
if(this.config.hasPagination){ this.buildPagination(); }
if(this.config.autoplay&&document.hasFocus()){ this.setTimer(); }
if(typeof this.config.onInitialize==='function'){
this.config.onInitialize(this.slides);
}
if(this.config.fluidHeight===true){
$(this.slides).height('auto');
$(this.container).css('transition', 'height ' + 200 + 'ms ease-out');
this.setHeight(0);
}
if(this.config.fluidHeight==='toHighest'){
this.setHeightToHighest();
}},
cacheElements:function (){
this.container=this.isNode(this.container) ? this.container
: document.querySelectorAll(this.container)[0];
this.slides=this.container.querySelectorAll(this.config.slide);
if(this.config.hasNav){ this.$nav=$(this.config.nav); }
if(this.config.hasPagination){ this.$pagination=$(this.config.paginationEl); }},
bindEvents:function(){
var $window=$(window);
if(this.config.slidesPerView > 1){ $window.on('resize', this.setPerViewItems.bind(this)); }
if(this.config.hasNav){ this.eventsNav(); }
if(this.config.hasPagination){ this.eventsPag(); }
if(this.config.draggable){ this.dragHandler(); }
if(this.config.autoplay){
$window.on('focus', this.windowActive.bind(this));
$window.on('blur', this.windowInactive.bind(this));
}
if(this.config.pauseOnHover){
$(this.container).on('mouseleave', this.setTimer.bind(this));
$(this.container).on('mouseenter', this.unsetTimer.bind(this));
}
if(this.config.fluidHeight==='toHighest'){
$window.on('resize', this.setHeightToHighest.bind(this));
}},
setPerViewItems: function(){
if(window.matchMedia('(max-width: 500px)').matches){ this.config.slidesPerView=1; }
else if(window.matchMedia('(max-width: 767px)').matches&&this.initPerView >=2){ this.config.slidesPerView=2; }
else if(window.matchMedia('(max-width: 1024px)').matches&&this.initPerView >=3){ this.config.slidesPerView=3; }else{ this.config.slidesPerView=this.initPerView; }
if(typeof this.slides==='undefined') return;
this.getSlideSize();
this.setSize();
this.setPos();
this.timeline=this.prepareTimeline(this.config.transitionTime);
this.timeline.build();
},
eventsNav:function(){
this.$nav.on('click', 'a', this.handleNav.bind(this));
},
eventsPag:function(){
this.$pagination.on('click', 'a', this.handlePagination.bind(this));
},
handleNav:function(e){
e.preventDefault();
if(this.state.running){ return; }
this.state.running=true;
var $this=$(e.currentTarget),
moveForward=$this.data('direction')==='next';
if(this.config.autoplay){
this.unsetTimer();
setTimeout(this.setTimer.bind(this), this.config.transitionTime);
}
this.state.moveForward=moveForward;
this.timeline.build();
this.timeline.play();
this.setActive(this.nextId(moveForward ? 1:-1));
if(this.config.fluidHeight){ this.setHeight(this.nextId(moveForward ? 1:-1)); }},
handlePagination:function(e){
e.preventDefault();
var $this=$(e.currentTarget),
id=$this.index();
this.goTo(id);
},
reset: function(){
this.state.stop=true;
this.state.id=0;
this.setPos();
this.unsetTimer();
this.setTimer();
},
goTo:function(id){
if(this.state.running){ return; }
this.state.running=true;
var lastId=this.state.id;
if(lastId===id){
return;
}else if(lastId < id){
this.state.moveForward=true;
}else{
this.state.moveForward=false;
}
if(this.config.autoplay){
this.unsetTimer();
setTimeout(this.setTimer.bind(this), this.config.transitionTime);
}
this.timeline.build(Math.abs(lastId - id));
this.timeline.play();
this.setActive(id);
if(this.config.fluidHeight){ this.setHeight(id); }},
windowActive:function(){
this.setTimer(false, true);
$(this.container).removeClass('is-paused');
},
windowInactive:function(){
this.unsetTimer();
$(this.container).addClass('is-paused');
},
updateId:function(val){
var len=this.slides.length,
insertVal=this.state.id + val;
insertVal=(insertVal >=0) ? insertVal:len + val;
insertVal=(insertVal >=len) ? 0:insertVal;
this.state.id=insertVal;
},
nextId:function(val){
var len=this.slides.length,
insertVal=this.state.id + val;
insertVal=(insertVal >=0) ? insertVal:len + val;
insertVal=(insertVal >=len) ? 0:insertVal;
return insertVal;
},
setStyle:function(obj, style){
var hasT=style.transform,
t={
x:(hasT) ? style.transform.translateX:null,
y:(hasT) ? style.transform.translateY:null,
scale:(hasT) ? style.transform.scale:null,
rotate:(hasT) ? style.transform.rotate:null,
rotateX:(hasT) ? style.transform.rotateX:null,
rotateY:(hasT) ? style.transform.rotateY:null
},
z='translateZ(0)',
x=(t.x) ? 'translateX(' + t.x + '%)':'translateX(0)',
y=(t.y) ? 'translateY(' + t.y + '%)':'translateY(0)',
s=(t.scale) ? 'scale(' + t.scale + ')':'scale(1)',
r=(t.rotate) ? 'rotate(' + t.rotate + 'deg)':'rotate(0)',
rX=(t.rotateX) ? 'rotateX(' + t.rotateX + 'deg)':'',
rY=(t.rotateY) ? 'rotateY(' + t.rotateY + 'deg)':'',
o=style.opacity,
h=style.height,
w=style.width;
var c=z + x + y + s + r + rX + rY;
if(c.length){
obj.style.webkitTransform=c;
obj.style.msTransform=c;
obj.style.transform=c;
}
if(typeof o==='number'){ obj.style.opacity=o; }
if(h){ obj.style.height=h + '%'; }
if(w){ obj.style.width=w + '%'; }},
setPos:function(){
if(typeof this.slides==='undefined') return;
var id=this.state.id,
i=0,
len=this.slides.length,
animation=this.animation[ this.config.effect ],
axis=animation.axis,
animNext=animation.next,
animActi=animation.active,
animPrev=animation.prev,
perView=this.config.slidesPerView,
slideId=null,
zIFlow=null,
style={};
style.transform={};
for(; i < len; i +=1){
if(i < perView){
style=animActi;
style.transform[ 'translate' + axis ]=i * 100;
}else{
style=this.state.moveForward ? animNext:animPrev;
style.transform[ 'translate' + axis ]=this.state.moveForward ? perView * 100:-100;
}
this.slides[ i ].style.zIndex=0;
slideId=(i + id) % len;
this.setStyle(this.slides[ slideId ], style);
}},
setSize:function(){
if(typeof this.slides==='undefined') return;
var i=0,
len=this.slides.length,
axis=this.animation[ this.config.effect ].axis,
slideSize=this.slideSize,
style={};
if(axis==='Y'){
style.height=slideSize[ axis ];
}else{
style.width=slideSize[ axis ];
}
for(; i < len; i +=1){
this.setStyle(this.slides[ i ], style);
}},
setHeight:function(id){
var $slides=$(this.slides),
$activeSlide=$slides.eq(id);
var currentHeight=$activeSlide.height();
$(this.container).height(currentHeight);
},
setHeightToHighest:function(){
var $slides=$(this.slides),
height=0;
$slides.each(function(){
height=Math.max(height, $(this).find('> div').outerHeight());
});
$(this.container).height(height);
},
prepareTimeline:function(time){
var self=this,
iteration=0,
totalIter=time / (1000 / 60),
animLoop=[],
aL=0,
loops=1,
ease=this.config.ease,
currentStyle, timeProg,
build, move, add, play, reverse, progress, kill;
var len=this.slides.length,
perView=this.config.slidesPerView,
animation=this.animation[ this.config.effect ],
animAxis=animation.axis,
animNext=animation.next,
animActi=animation.active,
animPrev=animation.prev,
style={},
slideId=null,
zIFlow=null;
style.transform={};
build=function(repeats){
var currentEase=ease;
loops=repeats||loops;
if(!loops){ return; }
if(loops > 1){
currentEase='linearEase';
}
kill();
self.setPos();
var id=self.state.id,
moveForward=self.state.moveForward,
i=0,
axisMove=(moveForward) ? -100:100;
for(; i <=perView; i +=1){
slideId=((moveForward) ? i + id:i + id - 1) % len;
slideId=(slideId < 0) ? len + slideId:slideId;
if(i===0){
style=moveForward ? animPrev:animActi;
}else if(i===perView){
style=moveForward ? animActi:animNext;
}else{
style=animActi;
}
zIFlow=(self.state.moveForward) ? animNext.zIndex:animPrev.zIndex;
if(zIFlow){
self.slides[ slideId ].style.zIndex=(zIFlow==='+') ? i + 1:len - i;
}
style.transform[ 'translate' + animAxis ]=axisMove;
add(self.slides[ slideId ], style, currentEase);
}};
add=function(slide, toStyles, ease){
if(typeof slide==='undefined'){
throw 'Add at least one slide';
}
var fromStyles=slide.style,
style=self.refStyle(toStyles, fromStyles);
animLoop.push([slide, style, ease]);
aL +=1;
};
move=function(startProg, mode){
var currentTotalIter=totalIter;
if(loops > 1){
currentTotalIter=totalIter / 5;
}
if(!self.state.running){ self.state.running=true; }
if(startProg){
iteration=Math.ceil(startProg * currentTotalIter);
}
timeProg=iteration / currentTotalIter;
progress(timeProg);
if(iteration >=currentTotalIter&&mode==='play' ||
iteration <=0&&mode==='reverse'){
self.state.running=false;
iteration=0;
kill();
self.updateId(self.state.moveForward ? 1:-1);
loops -=1;
if(loops > 0){
build();
play();
}
if(!loops){
loops=1;
self.timerRemaining=parseInt(self.config.displayTime);
self.config.onAfterSlide(self.state.id);
}
return;
}
if(mode==='play'){
iteration +=1;
}else{
iteration -=1;
}
requestAnimationFrame(function(){
if(self.state.stop) return;
move(0, mode);
});
};
play=function(startProg){
var start=startProg||0;
iteration=0;
self.state.stop=false;
move(start, 'play');
self.config.onBeforeSlide(self.state.id);
};
reverse=function(startProg){
var start=startProg||1;
move(start, 'reverse');
};
progress=function(progVal){
var aI=0,
currentStyle;
for(aI; aI < aL; aI++){
if(progVal!==1&&progVal!==0){
currentStyle=self.currentStyle(progVal, animLoop[ aI ][ 1 ], animLoop[ aI ][ 2 ]);
}else if(progVal===1){
currentStyle=self.currentStyle(progVal, animLoop[ aI ][ 1 ], 'linearEase');
}else if(progVal===0){
currentStyle=self.currentStyle(progVal, animLoop[ aI ][ 1 ], 'linearEase');
}
self.setStyle(animLoop[ aI ][ 0 ], currentStyle);
}};
kill=function(){
animLoop=[];
aL=0;
};
return {
build:build,
add:add,
play:play,
reverse:reverse,
progress:progress
};},
refStyle:function(toStyles, fromStyles){
var axis=this.animation[ this.config.effect ].axis,
style={},
initVal, changeVal, endVal, dynamicEnd, styleProp, transProp, transform;
for(styleProp in toStyles){
if(styleProp==='transform'){
transform=this.getTransforms(fromStyles);
style.transform={};
for(transProp in toStyles.transform){
if(transProp==='translateZ'){ continue; }
initVal=transform[ transProp ]||0;
dynamicEnd=(transProp==='translate' + axis) ? initVal:0;
endVal=toStyles.transform[ transProp ] + dynamicEnd;
changeVal=endVal - initVal;
style.transform[ transProp ]=[ initVal, changeVal ];
}}else if(styleProp==='zIndex'){
continue;
}else{
initVal=parseFloat(fromStyles[ styleProp ])||0;
endVal=toStyles[ styleProp ];
changeVal=endVal - initVal;
style[ styleProp ]=[ initVal, changeVal ];
}}
return style;
},
currentStyle:function(progress, style, ease){
var self=this,
currentStyle={},
currentVals, styleProp, transProp, prog;
for(styleProp in style){
if(styleProp==='transform'){
currentStyle.transform={};
for(transProp in style.transform){
if(transProp==='translateZ'){ continue; }
currentVals=style.transform[ transProp ];
currentStyle.transform[ transProp ] =
self.ease[ ease ](progress, currentVals[ 0 ], currentVals[ 1 ], 1);
}}else{
currentVals=style[ styleProp ];
currentStyle[ styleProp ] =
self.ease[ ease ](progress, currentVals[ 0 ], currentVals[ 1 ], 1);
}}
return currentStyle;
},
setActive:function(id){
var $slides=$(this.slides),
className=this.config.activeClass;
$slides.removeClass(className);
if(this.config.hasPagination){
var $pagination=this.$pagination.find('a');
$pagination.removeClass(className);
$pagination.eq(id).addClass(className);
}
if(this.activeTimer){
clearTimeout(this.activeTimer);
}
this.activeTimer=setTimeout(function(){
$slides.eq(id).addClass(className);
}, this.config.transitionTime);
},
setTimer:function(isFirst, isPaused){
var self=this,
interval=parseInt(this.config.displayTime),
trans=parseInt(this.config.transitionTime),
timer=interval + trans,
first=isFirst||true,
create, run;
this.timer=true;
this.lastSetTimer=Date.now();
create=function(){
if(self.autoplay){ clearTimeout(self.autoplay); }
if(!self.timer){
return;
}
self.state.moveForward=true;
self.timeline.build();
self.timeline.play();
self.setActive(self.nextId(1));
if(self.config.fluidHeight){ self.setHeight(self.nextId(1)); }
first=false;
self.lastSetTimer=Date.now();
run();
};
run=function(interval){
var time=interval||timer;
self.autoplay=setTimeout(create, time);
};
if(isPaused){
run(this.timerRemaining);
}
else run();
},
unsetTimer:function(){
this.timer=false;
this.lastUnsetTimer=Date.now();
this.timerRemaining -=this.lastUnsetTimer - this.lastSetTimer;
if(this.autoplay){ clearTimeout(this.autoplay); }},
buildPagination:function(){
var i=0,
len=this.slides.length,
tpl='';
for(; i < len; i +=1){
tpl +='' + this.config.paginationTpl + '';
}
this.$pagination.html(tpl);
this.setActive(0);
},
getSlideSize:function(){
this.slideSize={
X: 100 / this.config.slidesPerView,
Y: 100 / this.config.slidesPerView
};},
getTransforms:function(style){
var transform=style.transform||style.webkitTransform||style.mozTransform,
regex=/(\w+)\(([^)]*)\)/g,
match,
T={};
if(typeof transform!=='string'){
throw 'Transform prop is not a string.';
}
if(!transform){ return; }
while(match=regex.exec(transform)){
T[ match[ 1 ] ]=parseFloat(match[ 2 ]);
}
return T;
},
isNode:function(o){
return (
typeof Node==="object" ? o instanceof Node :
o&&typeof o==="object"&&typeof o.nodeType==="number"&&typeof o.nodeName==="string"
);
},
dragHandler:function(){
var self=this,
$container=$(this.container),
prevBuild=false,
nextBuild=false,
dragging=false,
buffor=5,
dragStart, dragMove, dragEnd, progress;
progress=function(moveX){
return moveX / self.val.viewportW();
};
dragStart=function(moveX, startX){
};
dragMove=function(moveX){
if(self.state.running) return;
if(moveX < -buffor){
if(!nextBuild){
self.state.moveForward=true;
self.timeline.build();
nextBuild=true;
prevBuild=false;
self.unsetTimer();
}else{
self.timeline.progress(-progress(moveX));
}
dragging=true;
}else if(moveX > buffor){
if(!prevBuild){
self.state.moveForward=false;
self.timeline.build();
prevBuild=true;
nextBuild=false;
self.unsetTimer();
}else{
self.timeline.progress(progress(moveX));
}
dragging=true;
}};
dragEnd=function(moveX){
if(dragging){
var prog=progress(moveX),
absProg=prog < 0 ? -prog:prog;
if(absProg > 0.1){
self.timeline.play(absProg);
self.setActive(self.nextId(prog < 0 ? 1:-1));
if(self.config.fluidHeight){ self.setHeight(self.nextId(prog < 0 ? 1:-1)); }}else{
self.timeline.reverse(absProg);
if(prog < 0){
self.updateId(-1);
}else{
self.updateId(1);
}}
prevBuild=false;
nextBuild=false;
dragging=false;
if(self.config.autoplay){ self.setTimer(false); }}
};
this.drag($container, dragStart, dragMove, dragEnd);
},
drag:function($el, startFn, moveFn, stopFn){
var touchX, touchY, movX, movY, go, evt,
prevent, start, move, stop;
prevent=function(e){
e.preventDefault();
};
start=function(e){
$el.on("mousemove", prevent);
$el.on("touchmove", move);
$el.on("mousemove", move);
evt=(e.type==='touchstart') ? e.originalEvent.touches[0]:e;
touchX=evt.pageX;
if(typeof startFn==='function'){
startFn(movX, touchX);
}};
move=function(e){
evt=(e.type==='touchmove') ? e.originalEvent.touches[0]:e;
movX=evt.pageX - touchX;
if(typeof moveFn==='function'){
moveFn(movX);
}};
stop=function(e){
$el.off("mousemove", prevent);
$el.off("touchmove", move);
$el.off("mousemove", move);
if(typeof stopFn==='function'){
stopFn(movX);
}};
$el.on("touchstart", start);
$el.on("mousedown", start);
$el.on("touchend", stop);
$el.on("touchleave", stop);
$el.on("touchcancel", stop);
$el.on("mouseup", stop);
$el.on("mouseleave", stop);
},
dynamicVal:function(){
var $window=$(window),
update,
getViewportW, viewportW;
update=function(){
viewportW=$window.width();
};
getViewportW=function(){
return viewportW;
};
update();
$window.on('load', update);
$window.on('resize', update);
return {
viewportW:getViewportW
};}};
MK.ui.Slider.prototype.animation={
slide:{
axis:'X',
next:{ transform: {}},
active:{ transform: {}},
prev:{ transform: {}}
},
vertical_slide:{
axis:'Y',
next:{ transform: {}},
active:{ transform: {}},
prev:{ transform: {}}
},
perspective_flip:{
axis:'Y',
next:{
transform: {
rotateX:80
}},
active:{
transform: {
rotateX:0
}},
prev:{
transform: {
rotateX:0
}}
},
zoom:{
axis:'Z',
next: {
opacity:0,
transform:{
scale:0.9
}},
active: {
opacity:1,
transform:{
scale:1
}},
prev: {
opacity:0,
transform:{
scale:1.1
}}
},
fade:{
axis:'Z',
next: {
opacity:0,
transform:{}},
active: {
opacity:1,
transform:{}},
prev: {
opacity:0,
transform:{}}
},
kenburned:{
axis:'Z',
next: {
opacity:0,
transform:{}},
active: {
opacity:1,
transform:{}},
prev: {
opacity:0,
transform:{}}
},
zoom_out:{
axis:'Z',
next: {
zIndex:'+',
opacity:1,
transform:{
translateY:100,
scale:1
}},
active: {
opacity:1,
transform:{
translateY:0,
scale:1
}},
prev: {
zIndex:'+',
opacity:0,
transform:{
translateY:0,
scale:0.5
}}
},
horizontal_curtain:{
axis:'Z',
next: {
zIndex:'+',
transform:{
translateX:100,
}},
active: {
transform:{
translateX:0,
}},
prev: {
zIndex:'+',
transform:{
translateX:-70,
}}
},
roulete:{
axis:'X',
next: {
opacity:0.5,
transform:{
scale:0.5,
rotate:10,
translateY:20
}},
active: {
opacity:1,
transform:{
scale:1,
rotate:0,
translateY:0
}},
prev: {
opacity:0.3,
transform:{
scale:0.5,
rotate:-10,
translateY:20
}}
}};
MK.ui.Slider.prototype.ease={
linearEase:function(currentIteration, startValue, changeInValue, totalIterations){
return changeInValue * currentIteration / totalIterations + startValue;
},
easeInQuad:function(currentIteration, startValue, changeInValue, totalIterations){
return changeInValue * (currentIteration /=totalIterations) * currentIteration + startValue;
},
easeOutQuad:function(currentIteration, startValue, changeInValue, totalIterations){
return -changeInValue * (currentIteration /=totalIterations) * (currentIteration - 2) + startValue;
},
easeInOutQuad:function(currentIteration, startValue, changeInValue, totalIterations){
if((currentIteration /=totalIterations / 2) < 1){
return changeInValue / 2 * currentIteration * currentIteration + startValue;
}
return -changeInValue / 2 * ((--currentIteration) * (currentIteration - 2) - 1) + startValue;
},
easeInCubic:function(currentIteration, startValue, changeInValue, totalIterations){
return changeInValue * Math.pow(currentIteration / totalIterations, 3) + startValue;
},
easeOutCubic:function(currentIteration, startValue, changeInValue, totalIterations){
return changeInValue * (Math.pow(currentIteration / totalIterations - 1, 3) + 1) + startValue;
},
easeInOutCubic:function(currentIteration, startValue, changeInValue, totalIterations){
if((currentIteration /=totalIterations / 2) < 1){
return changeInValue / 2 * Math.pow(currentIteration, 3) + startValue;
}
return changeInValue / 2 * (Math.pow(currentIteration - 2, 3) + 2) + startValue;
},
easeInQuart:function(currentIteration, startValue, changeInValue, totalIterations){
return changeInValue * Math.pow (currentIteration / totalIterations, 4) + startValue;
},
easeOutQuart:function(currentIteration, startValue, changeInValue, totalIterations){
return -changeInValue * (Math.pow(currentIteration / totalIterations - 1, 4) - 1) + startValue;
},
easeInOutQuart:function(currentIteration, startValue, changeInValue, totalIterations){
if((currentIteration /=totalIterations / 2) < 1){
return changeInValue / 2 * Math.pow(currentIteration, 4) + startValue;
}
return -changeInValue/2 * (Math.pow(currentIteration - 2, 4) - 2) + startValue;
},
easeInQuint:function(currentIteration, startValue, changeInValue, totalIterations){
return changeInValue * Math.pow (currentIteration / totalIterations, 5) + startValue;
},
easeOutQuint:function(currentIteration, startValue, changeInValue, totalIterations){
return changeInValue * (Math.pow(currentIteration / totalIterations - 1, 5) + 1) + startValue;
},
easeInOutQuint:function(currentIteration, startValue, changeInValue, totalIterations){
if((currentIteration /=totalIterations / 2) < 1){
return changeInValue / 2 * Math.pow(currentIteration, 5) + startValue;
}
return changeInValue / 2 * (Math.pow(currentIteration - 2, 5) + 2) + startValue;
},
easeInSine:function(currentIteration, startValue, changeInValue, totalIterations){
return changeInValue * (1 - Math.cos(currentIteration / totalIterations * (Math.PI / 2))) + startValue;
},
easeOutSine:function(currentIteration, startValue, changeInValue, totalIterations){
return changeInValue * Math.sin(currentIteration / totalIterations * (Math.PI / 2)) + startValue;
},
easeInOutSine:function(currentIteration, startValue, changeInValue, totalIterations){
return changeInValue / 2 * (1 - Math.cos(Math.PI * currentIteration / totalIterations)) + startValue;
},
easeInExpo:function(currentIteration, startValue, changeInValue, totalIterations){
return changeInValue * Math.pow(2, 10 * (currentIteration / totalIterations - 1)) + startValue;
},
easeOutExpo:function(currentIteration, startValue, changeInValue, totalIterations){
return changeInValue * (-Math.pow(2, -10 * currentIteration / totalIterations) + 1) + startValue;
},
easeInOutExpo:function(currentIteration, startValue, changeInValue, totalIterations){
if((currentIteration /=totalIterations / 2) < 1){
return changeInValue / 2 * Math.pow(2, 10 * (currentIteration - 1)) + startValue;
}
return changeInValue / 2 * (-Math.pow(2, -10 * --currentIteration) + 2) + startValue;
},
easeInCirc:function(currentIteration, startValue, changeInValue, totalIterations){
return changeInValue * (1 - Math.sqrt(1 - (currentIteration /=totalIterations) * currentIteration)) + startValue;
},
easeOutCirc:function(currentIteration, startValue, changeInValue, totalIterations){
return changeInValue * Math.sqrt(1 - (currentIteration=currentIteration / totalIterations - 1) * currentIteration) + startValue;
},
easeInOutCirc:function(currentIteration, startValue, changeInValue, totalIterations){
if((currentIteration /=totalIterations / 2) < 1){
return changeInValue / 2 * (1 - Math.sqrt(1 - currentIteration * currentIteration)) + startValue;
}
return changeInValue / 2 * (Math.sqrt(1 - (currentIteration -=2) * currentIteration) + 1) + startValue;
}};})(jQuery);
(function($){
'use strict';
MK.component.Sortable=function(el){
this.el=el;
};
MK.component.Sortable.prototype={
init: function init(){
this.cacheElements();
this.bindEvents();
},
cacheElements: function cacheElements(){
this.unique=Date.now();
this.$filter=$(this.el);
this.config=this.$filter.data('sortable-config');
this.ajaxLoader=new MK.utils.ajaxLoader(this.config.container);
this.ajaxLoader.init();
this.$container=$(this.config.container);
this.$navItems=this.$filter.find('a');
},
bindEvents: function bindEvents(){
this.$navItems.on('click', this.handleClick.bind(this));
MK.utils.eventManager.subscribe('ajaxLoaded', this.onLoad.bind(this));
},
handleClick: function handleClick(e){
e.preventDefault();
var $item=$(e.currentTarget);
var term=$item.data('filter');
MK.ui.loader.remove(this.$filter);
MK.ui.loader.add($item);
this.$navItems.removeClass('current');
$item.addClass('current');
this.ajaxLoader.setData({
paged: 1,
term: term
});
this.ajaxLoader.load(this.unique);
},
onLoad: function onLoad(e, response){
if(response.id===this.config.container){
MK.ui.loader.remove(this.$filter);
if(response.unique===this.unique){
this.$container.html(response.content);
this.ajaxLoader.setData({paged: 1});
}}
}};})(jQuery);
(function($){
'use strict';
MK.component.Tabs=function(el){
var defaults={
activeClass:'is-active'
};
this.config=defaults;
this.el=el;
};
MK.component.Tabs.prototype={
init:function(){
this.cacheElements();
this.bindEvents();
},
cacheElements:function(){
this.$this=$(this.el);
this.$tabs=this.$this.find('.mk-tabs-tab');
this.$panes=this.$this.find('.mk-tabs-pane');
this.currentId=0;
},
bindEvents:function(){
var self=this;
this.$tabs.on('click', this.switchPane.bind(this));
},
switchPane:function(evt){
evt.preventDefault();
var clickedId=$(evt.currentTarget).index();
this.hide(this.currentId);
this.show(clickedId);
this.currentId=clickedId;
},
show:function(id){
this.$tabs.eq(id).addClass(this.config.activeClass);
this.$panes.eq(id).addClass(this.config.activeClass);
},
hide:function(id){
this.$tabs.eq(id).removeClass(this.config.activeClass);
this.$panes.eq(id).removeClass(this.config.activeClass);
}};})(jQuery);
function mk_tabs(){
}
function mk_tabs_responsive(){
}
(function($){
'use strict';
$(document).on('click', function(e){
$('.mk-toggle-trigger').removeClass('mk-toggle-active');
});
function toggle(e){
e.preventDefault();
e.stopPropagation();
var $this=$(e.currentTarget);
if(!$this.hasClass('mk-toggle-active')){
$('.mk-box-to-trigger').fadeOut(200);
$this.parent().find('.mk-box-to-trigger').fadeIn(250);
$('.mk-toggle-trigger').removeClass('mk-toggle-active');
$this.addClass('mk-toggle-active');
}else{
$('.mk-box-to-trigger').fadeOut(200);
$this.removeClass('mk-toggle-active');
}}
function assignToggle(){
setTimeout(function(){
$('.mk-toggle-trigger').off('click', toggle);
$('.mk-toggle-trigger').on('click', toggle);
}, 100);
}
assignToggle();
MK.utils.eventManager.subscribe('ajaxLoaded', assignToggle);
MK.utils.eventManager.subscribe('ajax-preview', assignToggle);
}(jQuery));
(function($){
'use strict';
var $iframes=$('iframe');
$iframes.each(function(){
var $iframe=$(this);
var parent=$iframe.parent().get(0);
var tagName=parent.tagName;
if(tagName==='P') $iframe.wrap('');
});
}(jQuery));
(function($){
'use strict';
if(MK.utils.isMobile()){
$('.mk-animate-element').removeClass('mk-animate-element');
return;
}
var $rootLevelEls=$('.js-master-row, .widget');
var init=function init(){
$rootLevelEls.each(spyViewport);
$rootLevelEls.each(function rootLevelEl(){
var $animateEl=$(this).find('.mk-animate-element');
$animateEl.each(spyViewport);
});
};
var spyViewport=function spyViewport(i){
var self=this;
MK.utils.scrollSpy(this, {
position:'bottom',
threshold:200,
after:function(){
animate.call(self, i);
}});
};
var animate=function animate(i){
var $this=$(this);
setTimeout(function(){
$this.addClass('mk-in-viewport');
}, 100 * i);
};
$(window).on('load', init);
}(jQuery));
(function($){
'use strict';
$(document).on('change', '.variations_form select', moveToFirstSlide);
function moveToFirstSlide(){
var $switcher=$('.variations_form select'),
$wrapper=$switcher.parents('.mk-product'),
id=$wrapper.find('.mk-slider-holder').parent().attr('id');
MK.utils.eventManager.publish('gallery-update', {
id: id
});
}}(jQuery));
(function($){
'use strict';
$(window).on('load', function(){
var MK=window.MK||{};
MK.core.initAll(document);
MK.utils.scrollToURLHash();
setTimeout(function(){
MK.ui.preloader.hide();
$('.mk-preloader').hide();
$('body').removeClass('loading');
}, 150);
});
$(document).on('click', '.js-smooth-scroll, .js-main-nav a', smoothScrollToAnchor);
$('.side_dashboard_menu a').on('click', smoothScrollToAnchor);
function smoothScrollToAnchor(evt){
var MK=window.MK||{};
var anchor=MK.utils.detectAnchor(this);
if(anchor.length){
evt.preventDefault();
MK.utils.scrollToAnchor(anchor);
}else if($this.attr('href')==='#'){
evt.preventDefault();
}}
}(jQuery));}(jQuery));
!function(a,b){"use strict";function c(){if(!e){e=!0;var a,c,d,f,g=-1!==navigator.appVersion.indexOf("MSIE 10"),h=!!navigator.userAgent.match(/Trident.*rv:11\./),i=b.querySelectorAll("iframe.wp-embedded-content");for(c=0;c1e3)g=1e3;else if(~~g<200)g=200;f.height=g}if("link"===d.message)if(h=b.createElement("a"),i=b.createElement("a"),h.href=f.getAttribute("src"),i.href=d.value,i.host===h.host)if(b.activeElement===f)a.top.location.href=d.value}else;}},d)a.addEventListener("message",a.wp.receiveEmbedMessage,!1),b.addEventListener("DOMContentLoaded",c,!1),a.addEventListener("load",c,!1)}(window,document);
(function($){
'use strict';
var zIndex=0;
$(document).on('click', '.blog-loop-comments', function (event){
event.preventDefault();
var $this=$(event.currentTarget);
var $parent=$this.parents('.mk-blog-newspaper-item');
$parent.css('z-index', ++zIndex);
$this.parents('.newspaper-item-footer').find('.newspaper-social-share').slideUp(200).end().find('.newspaper-comments-list').slideDown(200);
setTimeout(function(){
MK.utils.eventManager.publish('item-expanded');
}, 300);
});
$(document).on('click', '.newspaper-item-share', function (event){
event.preventDefault();
var $this=$(event.currentTarget);
var $parent=$this.parents('.mk-blog-newspaper-item');
$parent.css('z-index', ++zIndex);
$this.parents('.newspaper-item-footer').find('.newspaper-comments-list').slideUp(200).end().find('.newspaper-social-share').slideDown(200);
setTimeout(function(){
MK.utils.eventManager.publish('item-expanded');
}, 300);
});
}(jQuery));
(function($){
'use strict';
MK.component.EdgeSlider=function(el){
var self=this,
$this=$(el),
$window=$(window),
$wrapper=$this.parent(),
config=$this.data('edgeslider-config');
var callbacks={
onInitialize:function(slides){
self.$slides=$(slides);
self.slideContents=$.map(self.$slides, function(slide){
var $slide=$(slide),
title=$slide.find('.edge-slide-content .edge-title').first().text(),
skin=$slide.attr("data-header-skin"),
image=$slide.find('.mk-section-image').css('background-image') ||
$slide.find('.mk-video-section-touch').css('background-image'),
bgColor=$slide.find('.mk-section-image').css('background-color');
return {
skin: skin,
title: title,
image: image,
bgColor: bgColor
};});
if(MK.utils.isSmoothScroll) $this.css('position', 'fixed');
setNavigationContent(1, self.$slides.length - 1);
setSkin(0);
setTimeout(function(){
$('.edge-slider-loading').fadeOut('100');
}, 1000);
},
onAfterSlide:function(id){
var currentId=id;
var len=self.$slides.length,
nextId=(currentId + 1===len) ? 0:currentId + 1,
prevId=(currentId - 1===-1) ? len - 1:currentId - 1;
setNavigationContent(nextId, prevId);
setSkin(id);
}};
var $nav=$(config.nav),
$prev=$nav.find('.mk-edge-prev'),
$prevTitle=$prev.find('.nav-item-caption'),
$prevBg=$prev.find('.edge-nav-bg'),
$next=$nav.find('.mk-edge-next'),
$nextTitle=$next.find('.nav-item-caption'),
$nextBg=$next.find('.edge-nav-bg');
var setNavigationContent=function(nextId, prevId){
if(self.slideContents[ prevId ]){
$prevTitle.text(self.slideContents[ prevId ].title);
$prevBg.css('background',
self.slideContents[ prevId ].image!=='none' ?
self.slideContents[ prevId ].image :
self.slideContents[ prevId ].bgColor);
}
if(self.slideContents[ nextId ]){
$nextTitle.text(self.slideContents[ nextId ].title);
$nextBg.css('background',
self.slideContents[ nextId ].image!=='none' ?
self.slideContents[ nextId ].image :
self.slideContents[ nextId ].bgColor);
}};
var $navBtns=$nav.find('a'),
$pagination=$('.swiper-pagination'),
$skipBtn=$('.edge-skip-slider'),
currentSkin=null;
var setSkin=function(id){
currentSkin=self.slideContents[ id ].skin;
$navBtns.attr('data-skin', currentSkin);
$pagination.attr('data-skin', currentSkin);
$skipBtn.attr('data-skin', currentSkin);
if(self.config.firstEl){
MK.utils.eventManager.publish('firstElSkinChange', currentSkin);
}};
var currentPoint;
var $opacityLayer=$this.find('.edge-slide-content');
var winH=null;
var opacity=null;
var offset=null;
var onResize=function onResize(){
var height=$wrapper.height();
$this.height(height);
var width=$wrapper.width();
$this.width(width);
winH=$window.height();
offset=$this.offset().top;
if(!MK.utils.isSmoothScroll) return;
if(MK.utils.isResponsiveMenuState()){
$this.css({
'-webkit-transform': 'translateZ(0)',
'-moz-transform': 'translateZ(0)',
'-ms-transform': 'translateZ(0)',
'-o-transform': 'translateZ(0)',
'transform': 'translateZ(0)',
'position': 'absolute'
});
$opacityLayer.css({
'opacity': 1
});
}else{
onScroll();
}};
var onScroll=function onScroll(){
currentPoint=- MK.val.scroll();
if(offset + currentPoint <=0){
opacity=1 + ((offset + currentPoint) / winH) * 2;
opacity=Math.min(opacity, 1);
opacity=Math.max(opacity, 0);
$opacityLayer.css({
opacity: opacity
});
}
$this.css({
'-webkit-transform': 'translateY(' + currentPoint + 'px) translateZ(0)',
'-moz-transform': 'translateY(' + currentPoint + 'px) translateZ(0)',
'-ms-transform': 'translateY(' + currentPoint + 'px) translateZ(0)',
'-o-transform': 'translateY(' + currentPoint + 'px) translateZ(0)',
'transform': 'translateY(' + currentPoint + 'px) translateZ(0)',
'position': 'fixed'
});
};
onResize();
$window.on('load', onResize);
$window.on('resize', onResize);
window.addResizeListener($wrapper.get(0), onResize);
if(MK.utils.isSmoothScroll){
onScroll();
$window.on('scroll', function(){
if(MK.utils.isResponsiveMenuState()) return;
window.requestAnimationFrame(onScroll);
});
}
this.el=el;
this.config=$.extend(config, callbacks);
this.slideContents=null;
};
MK.component.EdgeSlider.prototype={
init:function(){
var slider=new MK.ui.Slider(this.el, this.config);
slider.init();
}};})(jQuery);
(function ($){
'use strict';
function dynamicHeight(){
var $this=$(this);
$this.height('auto');
if(window.matchMedia('(max-width: 768px)').matches){
return;
}
$this.height($this.height());
}
var $window=$(window);
var container=document.getElementById('mk-theme-container');
$('.equal-columns').each(function(){
dynamicHeight.bind(this);
$window.on('load', dynamicHeight.bind(this));
$window.on('resize', dynamicHeight.bind(this));
window.addResizeListener(container, dynamicHeight.bind(this));
});
}(jQuery));
(function($){
'use strict';
function mk_section_intro_effects(){
if(!MK.utils.isMobile()){
if($.exists('.mk-page-section.intro-true')){
$('.mk-page-section.intro-true').each(function(){
var that=this;
MK.core.loadDependencies([ MK.core.path.plugins + 'jquery.sectiontrans.js', MK.core.path.plugins + 'tweenmax.js' ], function(){
var $this=$(that),
$pageCnt=$this.nextAll('div'),
windowHeight=$(window).height(),
effectName=$this.attr('data-intro-effect'),
$header=$('.mk-header');
var effect={
fade:new TimelineLite({paused: true})
.set($pageCnt, { opacity: 0, y: windowHeight * 0.3 })
.to($this, 1, { opacity: 0, ease:Power2.easeInOut })
.to($pageCnt, 1, { opacity: 1, y: 0, ease:Power2.easeInOut}, "-=.7")
.set($this, { zIndex: '-1'}),
zoom_out:new TimelineLite({paused: true})
.set($pageCnt, { opacity: 0, y: windowHeight * 0.3})
.to($this, 1.5, { opacity: .8, scale: 0.8, y: -windowHeight - 100, ease:Strong.easeInOut })
.to($pageCnt, 1.5, { opacity: 1, y: 0, ease:Strong.easeInOut}, "-=1.3"),
shuffle:new TimelineLite({paused: true})
.to($this, 1.5, { y: -windowHeight/2, ease:Strong.easeInOut })
.to($this.nextAll('div').first(), 1.5, { paddingTop: windowHeight/2, ease:Strong.easeInOut }, "-=1.3")
}
$this.sectiontrans({
effect:effectName,
});
if($this.hasClass('shuffled')){
TweenLite.set($this, { y: -windowHeight/2 });
TweenLite.set($this.nextAll('div').first(), { paddingTop: windowHeight/2 });
}
$('body').on('page_intro', function(){
MK.utils.scroll.disable();
$(this).data('intro', true);
effect[effectName].play();
setTimeout(function(){
$header.addClass('pre-sticky');
$header.addClass('a-sticky');
$('.mk-header-padding-wrapper').addClass('enable-padding');
$('body').data('intro', false);
if(effectName==='shuffle') $this.addClass('shuffled');
}, 1000);
setTimeout(MK.utils.scroll.enable, 1500);
});
$('body').on('page_outro', function(){
MK.utils.scroll.disable();
$(this).data('intro', true);
effect[effectName].reverse();
setTimeout(function(){
$header.removeClass('pre-sticky');
$header.removeClass('a-sticky');
$('.mk-header-padding-wrapper').removeClass('enable-padding');
$('body').data('intro', false);
if($this.hasClass('shuffled')) $this.removeClass('shuffled');
}, 1000);
setTimeout(MK.utils.scroll.enable, 1500);
});
});
});
}}else{
$('.mk-page-section.intro-true').each(function(){
$(this).attr('data-intro-effect', '');
});
}}
mk_section_intro_effects();
var debounceResize=null;
$(window).on("resize", function(){
if(debounceResize!==null){ clearTimeout(debounceResize); }
debounceResize=setTimeout(mk_section_intro_effects, 300);
});
}(jQuery));
(function($){
'use strict';
var _instancesCollection={};
MK.component.SwipeSlideshow=function(el){
var $this=$(el);
var id=$this.parent().attr('id');
this.el=el;
this.id=id;
this.config=$this.data('swipeslideshow-config');
if(this.config) this.config.hasPagination=false;
};
MK.component.SwipeSlideshow.prototype={
init:function(){
var slider=new MK.ui.Slider(this.el, this.config);
slider.init();
_instancesCollection[ this.id ]=slider;
}};
MK.component.SwipeSlideshowExtraNav=function(el){
this.el=el;
};
MK.component.SwipeSlideshowExtraNav.prototype={
init:function init(){
this.cacheElements();
this.bindEvents();
},
cacheElements:function cacheElements(){
var $this=$(this.el);
this.sliderId=$this.data('gallery');
this.slider=_instancesCollection[this.sliderId];
this.$thumbs=$('#' + this.sliderId).find('.thumbnails a');
},
bindEvents:function bindEvents(){
this.$thumbs.on('click', this.clickThumb.bind(this));
},
clickThumb:function clickThumb(e){
e.preventDefault();
var $this=$(e.currentTarget),
id=$this.index();
this.slider.goTo(id);
}};
MK.utils.eventManager.subscribe('gallery-update', function(e, config){
if(typeof _instancesCollection[config.id]==='undefined') return;
_instancesCollection[config.id].reset();
});
})(jQuery);